]> Sergey Matveev's repositories - stargrave-blog.git/commit
Радикальный перфекционизм в коде
authorSergey Matveev <stargrave@stargrave.org>
Sun, 21 Feb 2021 11:23:54 +0000 (14:23 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Sun, 21 Feb 2021 11:23:54 +0000 (14:23 +0300)
commit0e1f4d99719d6000306df0f5da59352c6a50fa2d
tree4b825dc642cb6eb9a060e54bf8d69288fbee4904
parent6a4f05213c731693893a20917433b14ed6fe8a24
Радикальный перфекционизм в коде

https://habr.com/ru/post/543490/
Вот прям до усрачки не согласен с автором. Такое ощущение, что если
где-то есть правило, то для него это перфекционизм и вообще радикальный.

    В конце каждого файла должен быть перевод строки.
    А если не будет, то кто умрёт?

Причём тут "умрёт кто-то или нет"? Но бесить не текстовый файл (по
POSIX, все строки должны заканчиваться переводом строки) это людей будет
ещё как. Автор, ты что-то будешь делать только если на кону чья то жизнь?

    Нельзя делать несколько statements на одной строке. Если я напишу $x
    = 1; $y = 1; $z = 1;, то читабельность ухудшится на 0.00001% и можно
    закрывать техотдел?

В итоге тьма способов (если и с пробелами до и после "=") написать одно
и то же и это одно сплошное удовольствие делать review кода в котором
нужно выискивать и интерпретировать глазами все эти инициализации
переменных.

Тут он инициализацию на одну строку сделает, тут пробелами красоту
наведёт, тут именование будет "b2c", а в другом месте
"BusinessToClient". В команде где я когда то работал даже уславливались
в тестах о порядке аргументов в assertEquals(): что идёт первым --
ожидаемое значение или сравниваемое. Или какие кавычки в этом Python
использовать (в каком нибудь Go для строк только двойные штатно, а
одинарными передают символы). Или кто в названиях функций/методов идёт
первым: глагол или объект. Ибо даже такие мелочи упрощают и увеличивают
скорость восприятия кода.

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