Задать вопрос
Контакты

Достижения

Все достижения (119)

Наибольший вклад в теги

Все теги (325)

Лучшие ответы пользователя

Все ответы (2004)
  • ООП в высоконагруженных проектах считается устаревшим?

    miraage
    @miraage
    Старый прогер
    Мужик дегенерат, однозначно.

    // EDIT

    Посмотрел прикрепленные исходники. Закапал святую воду в глаза.
    Выкиньте это всё, покажите ему, например, PHP: The Right Way.

    Я бы на Вашем месте уволился, незадумываясь.
    Ответ написан
    Комментировать
  • Как перестать говнокодить и принимать неверные архитектурные решения?

    miraage
    @miraage
    Старый прогер
    как писать поддерживаемый код?

    Если уж очень коротко, то соблюдать SOLID/GRASP. Мне понравился твит одного из авторов React Router:
    https://twitter.com/mjackson/status/1171524189850701825

    Most common mistake software developers make: putting stuff in the wrong place. Coupling responsibilities and concepts that should be kept separate.
    For me, this is 95% of software development. Just figuring out *where* things belong.


    Что гуглить, что учить?

    Фундаментальные знания, вроде вышеупомянутых SOLID/GRASP, паттерны (не только классические паттерны, но и вообще, общеизвестные решения определённых задач), базовые структуры данных. Фреймворки/библиотеки всегда будут приходить/уходить, что-то будет забываться. А фундаментальные знания всегда актуальны.

    Может литературу какую почитать посоветуете?

    Скажу за себя. Ни одной из этих известных книжек за свою жизнь не прочитал. Писал много говнокода дома, очень много. Удалял, переписывал. Смотрел код других людей, анализировал, пытался перенять то, что считал правильным.

    Можно ли себя называть миддлом, если твой код говно?

    Не пытайтесь себя оценить. В каждой компании свои понятия миддла. А если кто-то 35 лет на лиспе кодил, а потом прыгнет на Angular - кто он, джун или сеньор?
    И, да, все мы в какой-то степени пишем говнокод. Если кто-то Вам доказывает, что он пишет супер чистый код - не слушайте.

    И ответ на главный вопрос.
    Как перестать говнокодить и принимать неверные архитектурные решения?

    Это невозможно. Все проекты, которые чуток сложнее CRUD-ов, рано или поздно обрастают говнокодом. Никто не пишет идеальный код. Код должен работать и решать проблемы бизнеса.
    Ответ написан
    6 комментариев
  • Как научиться понимать английский язык на слух? Это вообще возможно?

    miraage
    @miraage
    Старый прогер
    Почитайте про "reductions". Это основа основ.

    что, как он смог сжать это в одно слово бкз единой паузы

    Это одна из фишек английского языка, особенно, американского акцента.

    Например, "i bought him a car", который можно сказать "ай бОт хим э кАр", произносится, как "эбАрм'экАр" без задержек (звуки не такие, но, надеюсь, посыл поняли)

    У самого были огромные проблемы с восприятием разговорного английского на слух. Решал через просмотр фильмов/сериалов в оригинале. По началу с субтитрами. TIP: смотрите те фильмы/сериалы, которые смотрели на русском, ибо самые большие проблемы с восприятием начинаются тогда, когда теряется контекст.

    // edit

    Что мне ещё определенно помогло – это прокачка произношения. Когда учишься говорить как нэйтив спикеры, то многие reductions попадают в отсек долгосрочной памяти, и затем они автоматически применяются при звуковом восприятии.

    И ещё совет, капитанский такой: практиковать английский язык каждый день. Говорить дома на английском (я вот живу один, так не смущаюсь сам с собой разговаривать), петь песни (нередко включаю песни, гуглю слова и просто пою – тренировать моторику языка).
    Если на работе английский задействуется - вообще класс.

    В мемасики/картиночки не прочь позалипать? Залипайте в них на английском (к слову,  масса контента с reddit переводится – читайте, первоисточник).
    Ответ написан
    1 комментарий
  • На каких IT-специалистов выше спрос за рубежом?

    miraage
    @miraage
    Старый прогер
    На квалицифрованных.
    Ответ написан
    Комментировать

Лучшие вопросы пользователя

Все вопросы (43)