Это то, чему можно научиться только методом проб и ошибок

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

Помните ту цитату? Мне нравится эта цитата. Потому что он такой агрессивный и необузданный. И я ему сочувствую. Вероятно, это не 100% правда. Вероятно, даже не на 50% верно. Но в этом есть крохотная доля правды.

Потому что я помню, когда закончил университет. Паттерны дизайна были потрясающими. Они собирались изменить мир.

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

Это похоже на то, как если бы кто-то составил список вещей, которые программисты уже делают, исключительно для того, чтобы продать книгу. Хм ... интересно, кто бы это сделал.



Чистый код: такого нет

Изначально я собирался озаглавить этот пост «Чистого кода не бывает». Это отличное название. Но на мой вкус это уже чересчур.

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

Это беспорядок. У всех свое определение чистого кода. Все они очень похожи. Но они не такие.

Я думаю, что это в основном скрыто из-за руководств по стилю. Как мы все знаем, для организации в целом будет лучше, если мы все будем следовать руководствам по стилю. Даже если с ними никто не согласен, просто для того, чтобы наш код был согласован. Это то, что я чувствую каждый раз, когда участвую в проекте с открытым исходным кодом. Ненавижу, что вы используете пробелы вместо табуляции, но я согласен.



Итак, мы все думаем, что кодируем больше, чем на самом деле. На самом деле мы очень разные, особенно когда дело касается чистого кода. И я начал думать, что на самом деле есть одна конкретная причина: вы не можете научить чистый код.

Этому нельзя научить

Итак, это возвращается к предыдущим шаблонам проектирования. Как мне перестать злоупотреблять шаблонами проектирования? Что ж, на самом деле это не лучший пример. Я понял, что шаблоны проектирования нельзя использовать очень быстро, когда я попытался создать приложение, которое действительно что-то делает. Как будто это не приложение, созданное с единственной целью продемонстрировать, что вы можете делать с шаблонами проектирования.

Возможно, лучшим примером является «принцип единой ответственности», который я привел здесь:



Когда вы выходите из школы, вы думаете «все запечатлеть». И тогда вы понимаете, что на самом деле вам следует инкапсулировать только те вещи, которые должны быть инкапсулированы.

Может ли школа гипотетически научить вас должным образом, чтобы вы не переусердствовали в инкапсуляции, продолжая при этом учить вас инкапсуляции. Думаю, теоретически да. Но на практике нет.

Я думаю, что на практике чистому коду нельзя научить, потому что он слишком тонок. И разные очереди людей находятся в разных местах. И некоторые люди до сих пор не усвоили, что «принцип единой ответственности» буквально не означает «принцип единой ответственности», судя по некоторым сообщениям о переполнении стека, которые я читал.

Программисты ни в чем не могут договориться. Мы не можем договориться, какую IDE / текстовый редактор использовать. Мы не можем прийти к единому мнению, какая парадигма лучше. Мы не можем договориться о том, как использовать комментарии. Мы не можем договориться, если это пробелы или табуляция. Мы даже не можем согласиться, произносится ли GIF как JIF.

Вот почему у нас есть руководства по стилю. Вот почему я подозреваю, что чистому коду нельзя научить.

Если вам понравился этот пост, не забудьте хлопнуть в ладоши и удерживать кнопку хлопка, пока не наберется число, которое вас устраивает. Да, я знаю, это похоже на обман, но это не так. Вот сколько я обычно хлопаю в ладоши:

0 - ›Не согласен / Не читал
1 -› Нейтрально, но жалко хлопну в ладоши
~ 4 - ›Не нравится все, но есть хорошие моменты
~ 16 - ›Это довольно хорошая статья
~ 50 -› Все должны прочитать это!