Олександр Соловйов про Фасилітатор покращення якості коду

Цікавий пост Олександра Соловйова, Head of Product в Kasta, в його телеграм-каналі Bite the Byte 👇

Дратують люди, які вважають 80 символів неважливим обмеженням через недосконалість терміналів у древності (тут маються на увазі часи 30-50 років тому).

Це ж невимовно круте обмеження! Фасілітатор покращення якості коду! І все таке. Чому, запитає допитливий читач (ггг).

• Найпростіша причина: так легше читати. Коли автор не може дозволити собі всі думки в цілому світі запхати в одну строку — це знижає шанси на виникнення піків складності (за відсутністю сталого терміну). Можна сказати, що гарний програміст уникає їх у коді самостійно, але ж це веде до того, що він свою енергію втрачає не туди, куди треба — а на самообмеження. А сила волі — дуже кінечний ресурс. Тож ок, воно обмежує автора для користі читача.

• Це наче продовження попередньої думки, але під іншим кутом: обмеження змушує автора подумати над тим, як краще структурувати код, як розділити його і все таке. Типу годі вже грязюку розводити, подумай, де чекпоінти. Рядок — він як регекс, якщо в ньому забагато символів, ти вирішуєш проблему невірно!

• Найцікавіше: це допомога самому автору. Сумніваюся, що хтось образу з голови пише код в редактор і все. Набагато більше часу ми витрачаємо на редагування і, відповідно, на повторне читання того коду! Тож не смітить одразу і легше буде перероблювати і прибирати потім.

Раптовий поворот: стаття про те, що чувак обмежив собі ширину у редакторі і йому стало простіше писати тексти.
Воно трохи емпіричне, але збігається з моїм досвідом: з телефона пишеш простіше, коротше, а отже, краще. :) І менше відволікаєшся, але це про інше. ;)

Ви можете згадати мої думки про поради, тож думайте самі. У сенсі думайте про те, як краще виконувати це правило. 😬



А як ви ставитеся до такого правила/обмеження? Чи виконуєте? Обговорімо в коментарях!



Дивіться також інтерв’ю Володимира Рожкова з Олександром Соловйовим про Clojure, як стати CTO, складність бізнесу та Дія Сіті.
👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Дерьмо, а не ограничение. Бывают случаи, когда код нативно многословен. То есть делается стандартная по сути операция, но ничего интересного там нет, и при чтении кода в этот кусок мусора лучше не вникать.

Пример: вставить кусок HTML кода. Да, можете заморочиться и выкинуть его в отдельный файл. Но как правило, проще вставить его строкой, и коль скоро подсветки синтаксиса на него нет (увы, нескоро придумают формат кода, в котором допустимо делать своё форматирование фрагментов) — то и вбросить его одной строкой. И никогда не дебажить кроме как в момент вброса.

Пример: вбросить иконку в BASE64 закодированную. Лучше в 1 строку, чтобы не мешала код читать.

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

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

Пример: строки логов или иного форматированного текста. Несколько строк желательно разместить друг над другом, чтобы видеть разницу. Строки логов нужны, например, как данные для автотестирования.

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

ХОРОШАЯ практика — иметь редактор, позволяющий сворачивать строки для их отображения на экране полностью. И чтобы эта фича легко включалась-выключалась.

Блин, Леша, демагогия это теперь доблесть или что? Конечно, пиши бейз64 и длинный урл одной строкой! Ни один совет нельзя применять слепо никогда.

Расстраивает, что такой дисклеймер надо писать.

Бюрократия не советует. Бюрократия требует. И мешает работать пока её требования не будут выполнены. Да и потом тоже находит к чему ещё прикопаться и продолжить гадить чтобы чувствовать собственную важность.

Більше засмучує те що ніхто не робить 5:4 монітори, а 16:10 немає 144Гц.

Ти б ще гнутий взяв та повернув на 90°

зажди пишу так, щоб не доводилось скролити горізонтально.

Завжди намагаюсь випиляти ідіотське обмеження на 80 символів, по дефолту ставлю 144 і переношу строку тільки тоді, коли її стає важко читати

з телефона пишеш простіше, коротше, а отже, краще

якщо писати «лол,кек, гонапиво» — то без сумніву.

Бесплатный пиар Пираньи...

Дратують люди, які вважають 80 символів неважливим обмеженням через недосконалість терміналів у древності (тут маються на увазі часи 30-50 років тому).

А сейчас если открыть табы с файлами side-by-side типа много места даже 24"-26″?

На самом деле советую задуматься, почему книги (лист бумаги) в высоту больше чем в ширину.

На самом деле советую задуматься, почему книги (лист бумаги) в высоту больше чем в ширину.

Чому?
В відповіді врахуйте країну походження паперу
xD

Потому что если бы книги писались как код, книга в 200 страничек бульварного формата стала бы многотомником, с перекрёстными ссылками между томами, и вам бы для понимания приходилось держать открытыми их всё только чтобы найти место открытия скобки.

Підписатись на коментарі