Пантелеев
щас фаулера начал читать
Sergey
тип "что такое coupling, coheasion", паттерны GRASP, принципы SOLID, принципы KISS, DRY, YAGNI, LoD...
Sergey
это все надо еще хорошенько переварить... и главное - ставь под сомнения все то, что ты сейчас юзаешь
Sergey
любые подходы и т.д.
Sergey
например "фигачить везде геттеры и сеттеры"
Sergey
где-то это надо но в большинстве случаев не стоит
Sergey
подкрепленные практикой
Sergey
я уже который год заморачиваюсь и всеравно как-то смутно...
Sergey
я вот 6 лет назад считал что я знаю хорошо все принципы
Sergey
хотя уже намного лучше чем года 3 назад)
Sergey
))
Sergey
я за эти
Sergey
тип "что такое coupling, coheasion", паттерны GRASP, принципы SOLID, принципы KISS, DRY, YAGNI, LoD...
Sergey
а ну это такое... тот же KISS весьма и весьма... извращенно понимается первые пару лет
Sergey
втупую
Sergey
как и YAGNI
Sergey
как и DRY...
Sergey
оно вроде бы просто "не должно быть дублирования" а люди воспринимают это как-то... не так
Sergey
зацикливаются
Пантелеев
Спасибо про принципы, сохранил себе) а вот я себе список книг составил, что можете сказать, нет ли откровенно лишнего?
Пантелеев
--Фримен Эр., Фримен Эл., Сьерра К., Бейтс Б. - Паттерны проектирования --Б. Маклафлин - Объектно-ориентированный анализ и проектирование --Мэтт Вайсфельд -- Объектно-ориентированное мышление --Мэт Зандстра - PHP. Объекты, шаблоны и методики программирования --Kristopher Wilson - The Clean Architecture in PHP --Мартин Фаулер. Архитектура корпоративных программных приложений --Харольд Абельсон, Джеральд Джей Сассман - Структура и Интерпретация Компьютерных Программ --Эрик Эванс - Предметно-ориентированное проектирование (DDD). Структуризация сложных программных систем --Чарльз Петцольд - Код. Тайный язык информатики --М. Фаулер - Рефакторинг
Sergey
стать архитектором?
Sergey
голову только себе забьешь)
Sergey
ну вот и я о том же
Sergey
из этого списка однозначно стоит читать Фаулера
Sergey
про рефакторинг
Пантелеев
Я считаю что при чтении информации любой, она индексируется в голове, даже если кажется что не запоминаешь
Пантелеев
И потом можно как максимум вспомнить, а как минимум знать где зырить
Sergey
и поймешь ты только когда "переизобретешь"
Пантелеев
Sergey
чистый код прочитай
Sergey
и хватит)
Sergey
$foo = $bar + 4;
Sergey
вот
Sergey
что сложного в этом коде?
Пантелеев
и поймешь ты только когда "переизобретешь"
Ну да, но если у меня будет бэк из чтения я могу понять что я "изобрёл"
Sergey
Ну да, но если у меня будет бэк из чтения я могу понять что я "изобрёл"
лучше приучи себя к дисцеплине. Принципы, практики вроде TDD
Sergey
особенно по началу сильно заколяют
Sergey
учись с молоду тесты писать ибо чем дальше тем больше лень их писать
Sergey
меньше знаешь - проще код писать
Sergey
а то потом садишься и не знаешь в какую сторону идти - везде ограничения(ментальные)
Sergey
меньше знаешь - проще код писать
а когда у тебя код покрыт тестами ты знаешь что "я всегда могу порефакторить"
Sergey
пфф
Sergey
тру пацаны рефакторят без тестов же
Sergey
> а то потом садишься и не знаешь в какую сторону идти - везде ограничения(ментальные) помню когда 4 назад было такое... начитался всякой ерунды про паттерны и продуктивность резко упала
Sergey
> тру пацаны рефакторят без тестов же ну так это с опытом же
Пантелеев
$foo = $bar + 4;
Имена переменных не нравятся. Так же если представить что $bar объект то лучше метод inc создать
Пантелеев
А вообще не оч понял пример этот
Sergey
ща сек
Sergey
тест от егора
Sergey
state это всегда сложно
Sergey
имутабельность, append only, уменьшение связанности, тотальный контроль над data flow
Sergey
уменьшение длины этого самого data flow (в идеале код который обрабатывает данные лежит в том же объекте что и данные)
Пантелеев
учись с молоду тесты писать ибо чем дальше тем больше лень их писать
У меня опыт большой, но формошлепства и Битрикса( и я вот пытаюсь просветлится
Sergey
по поводу ООП мне очень понравилось одна метафора
Пантелеев
Sergey
представь что объекты, это такие маленькие комьютеры... каждый со своей памятью и своими операциями. Каждый делает свою работу (аналогия - микросервисы). И все они просто отправляют сообщения между собой с целью что-то сделать.
Sergey
https://github.com/teamed/quiz/blob/master/Parser.java
Sergey
вот
Sergey
тест заключается в "сделай этот код збс"
Sergey
не
Sergey
чуваку
Sergey
ааа...
Sergey
код Егора?
Sergey
к слову да
Пантелеев
Хорошо, завтра попробую. Пока с телефона
Sergey
угу, на его докладе было
Sergey
совершенный код (или чистый код) надо почитать и читать раз в пол года
Sergey
когда он набрасывал
Sergey
совершенный код - гавно