Ответы пользователя по тегу Программирование
  • Что делать если не знаешь как реализовать что-либо при написании программы?

    @EvgeniiR
    https://github.com/EvgeniiR
    Я такой человек который предпочитает полагаться на свои знания, да и вообще на самого себя (Ну, то есть могу взять и изобрести велосипед, как говорится)

    Синдром неприятия чужого кода. Пройдёт )

    Ведь невозможно абсолютно всё держать в голове и при необходимости запрограммировать что угодно или я что-то не так понимаю?

    Есть базовые вещи и понимание как что-то делать или как что-то сделано, а есть кучи либ и инструментов выполняющих +/- те же задачи документацию по которым можно загуглить за пару минут и прочитать за пару часов. Запоминать нужно первое.

    В гуглении нет никаких проблем и ничего предосудительного ни для кого. Совсем.
    Тем более при изучении инструментов/фреймворков и т.п.

    Для базовых вещей(паттерны, дизайн и т.п.), конечно, стоит начать с книг.
    Ответ написан
    Комментировать
  • В чем отличие процедурного от функционального программирования?

    @EvgeniiR
    https://github.com/EvgeniiR
    ФП не предполагает наличия изменяемого состояния.
    Процедуры же меняют какое-то общее состояние.
    Ответ написан
    1 комментарий
  • Как вы читаете литературу по программированию и запоминаете?

    @EvgeniiR
    https://github.com/EvgeniiR
    Новые переменные , например, файла конфигурации, вы учите

    Нет конечно, зачем их учить? Достаточно дать понятные имена и подглядывать при необходимости.

    Новые понятия вы запоминаете,

    А я их не заучиваю как школьные теоремы по математике, а вникаю для чего они нужны, как их можно применить, и как описываемые походы могут отличаться от того что делаю/знаю я на текущий момент. Так и запоминается.

    Потому что, если я прочитаю, но забываю через неделю..... -((

    А просто заученное определение вам не поможет никак.
    Ответ написан
    8 комментариев
  • Как понять фабричный метод?

    @EvgeniiR
    https://github.com/EvgeniiR
    Постарайтесь понять предназначение и паттернов, заучивать реализации практически бессмысленно. Абстрактная фабрика создает объект определенного типа, а не класс, конечно же.

    Фабрика - частный случай реализации инверсии зависимостей. Профит инверсии огромен - она позволяет стабильным модулям не зависеть от нестабильных, например от устройств ввода.

    Могу посоветовать Чистую Архитектуру от Дяди Боба в качестве пищи для размышлений
    Ответ написан
    Комментировать
  • Почему столько восторгов вокруг типизации? По-моему без нее намного проще, не?

    @EvgeniiR
    https://github.com/EvgeniiR
    Писать код и не знать с какими вы типами работаете не нормально.
    Это приводит к ошибкам, усложняет понимание кода, сильно усложняет статический анализ.
    Поэтому в php есть vimeo psalm, phpdoc'и с типами и type hints с 7 версии, а в js typescript(ещё всякие kotlin native кстати )
    Ответ написан
    Комментировать
  • LINQ или foreach?

    @EvgeniiR
    https://github.com/EvgeniiR
    1. Такая ситуация складывается от того что бизнесу обычно нужно чтобы было готово ещё вчера, и плевать ему какие костыли при этом будут в коде, в худшем случае он не подумает даже о сложности поддержки всего этого.

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

    Вы предусматриваете создание оптимального с точки зрения разработки, поддержки и производительности решения. Оптимальным с экономической точки зрения для бизнеса чаще оказывается сделанный из костылей за неделю продукт, чем качественный за месяц.
    Все эти "модные" фишки что вы описываете, как раз и существуют для увеличения скорости разработки. Да и деньги то нужны, внезапно, не только на железо.

    https://habr.com/company/badoo/blog/430722/ - хорошая статья от badoo, с выводами на счёт целесообразности оптимизировать код / добавлять сервера
    Ответ написан
    Комментировать
  • Как называть свои свойства и методы при наследовании от других классов?

    @EvgeniiR
    https://github.com/EvgeniiR
    Не проверять же перед добавлением нового свойства/метода нет ли с таким же именем в родительских классах?

    Почему не проверять? + IDE такие вещи автоматически подсказывать должна.

    Ну и по хорошему если уж наследуетесь от чего-то, необходимо понимать для чего вы это делаете, и всё же иметь представлении о родительской структуре
    Ответ написан
    Комментировать