• Что почитать и на чем потренироваться, не могу перейти от процедурного к ооп?

    alexfilus
    @alexfilus
    Senior backend developer
    Я по настоящему постиг ООП когда при доработках программы перестал понимать код написанный час назад.
    Понял что без него никак, отрефакторил, то что было на тот момент. В последствии ещё полтора года пилил ту прогу, но никаких проблем с читабельностью не возникало. Это к вопросу зачем он нужен.
    В изучении поможет только практика. Попробуйте не писать интерфейсов и прочих высокоуровневых штук пока что. Возьмите что-то простое. Например напишите свою библиотечку для работы с линейной алгеброй.
    2 класса - матрица и вектор. И работа с ними. Ввод, вывод, перемножение, транспонирование, поиск определителя матрицы.
    Добавьте статических методов, например генерацию единичной матрицы.
    Дальше можно написать решения СЛУ разными способами. Подумать как переиспользовать уже готовые методы.
    Останется наследование.
    Попробуйте написать свою, простую ORM. Набор базовых CRUD методов как абстрактный класс, и наследуясь от него классы для работы с конкретными таблицами.
    Если не увлекаться перфекционизмом, и универсальностью применения данных классов, этих 2 велосипедов будет вполне достаточно чтобы разобраться что к чему с ООП в любом выбранном вами языке.
    Ответ написан
    Комментировать
  • Что почитать и на чем потренироваться, не могу перейти от процедурного к ооп?

    qonand
    @qonand
    Software Engineer
    Бертран Мейер - Объектно-ориентированное конструирование программных систем
    Мэтт Вайсфельд - Объектно-ориентированное мышление
    Грэди Буч - Объектно-ориентированный анализ и проектирование с примерами приложений
    Ответ написан
    Комментировать
  • Как общаться с HR при пожизненном отсутствии интереса и проактивности?

    @cssman
    это называется softskills и способность социализации.
    человек существо социальное, ему следует уметь притворяться.
    Ответ написан
    6 комментариев
  • Как решить проблему с концентрацией?

    @nomta
    1. Отключить внешние раздражители - очень важно. Телевизор и подобное лучше вообще убрать подальше.
    2. Научиться правильно отдыхать, в том числе - чтобы голова отдыхала. Закончили работу - переключайтесь на то, что происходит вокруг, общайтесь, забудьте вообще о работе. Можете 10 минут удерживать "пустоту" в голове, не думать ни о чем? Чтобы ни одна мысль не пролезла в голову? Дайте мозгу "проголодаться", сразу станет интереснее.
    3. Ваша проблема - не только Ваша, с ней сталкиваются практически все так или иначе. Приходится учиться, находить свой ритм работы и отдыха. Допустим, отдыхаете каждые полчаса. Каждый раз, завершив какую-то подзадачу, ставите отметку "выполнено". В связи с этим - полезная техника: составляйте план из микрозадач и, по мере их выполнения, ставьте галочки напротив каждой выполненной задачи. Мелочь, а хорошо помогает в плане концентрации.
    4. Одной из причин может быть то, что Вы ставите перед собой сразу много обязанностей, мозг воспринимает это как неподъемную задачу и блокирует ее выполнение. Разбивайте задачу на более мелкие и не обещайте себе выполнить непременно все. Отдыхайте, переключайтесь, развлекайтесь.
    5. Не держите все в голове - записывайте. Разгружайте голову. Когда занимаетесь - ведите подробные конспекты. Это помогает структурировать информацию. На экзамене очень выручает - Вы вспоминаете не информацию из учебника, а то, что сами записали в конспект, как будто это Ваше творение. Вам остается только воссоздать свой конспект на листочке, что обычно происходит легко, как будто само собой.
    6. Лучший отдых - это перемена занятий. Найдите противоположный вид деятельности, например, спорт, и работайте с реальной отдачей, до изнеможения. Уровень концентрации в вашей основной области повысится в разы.
    Пробуйте, ищите, учитесь. Есть целое направление - brain fitness, посмотрите, может, найдете что-то полезное и для себя.
    Ответ написан
    Комментировать
  • Как запоминать код, который писал две недели назад?

    TheTalion
    @TheTalion
    Я обычно помню код только пока пишу модуль, потом почти специально его забываю, потому что зачастую в модуль есть один вход и один выход (может чуть больше), а в остальном нужно значит лишь то, что примерно делает модуль.
    Ответ написан
    Комментировать