Pull to refresh

Comments 25

Не показывайте эту статью фанатам перфоманса в попугаях :)
Почему когда начинают про хорошесть кода, не говорят об IDE и просто редакторах?
А мне кажется, что именно IDE и определяет как будет писаться код и почему он выглядит у других так или иначе.
Наверно потому, что IDE может помочь только с проблемой «читаемости». Но абсолютно бесполезно, если код оброс зависимостями.
Под «хорошим» же кодом подразумевают, как и удобность чтения, так и удобность внесения изменений (то бишь меньшую зависимость компонентов друг от друга).
Но хороший редактор может упростить прослеживание зависимостей до такой степени что даже можно от них не избавляться.
Опять же зависимости укорачивают код.
Не факт что более длинный код без зависимостей будет читаться лучше чем короткий с зависимостями.

Можно ведь еще сказать все что не помещается на один экран — это код с неявными зависимостями.
Значит чем больше экран редактора тем меньше неявных для читателя зависимостей.
Опять упираемся в редактор.

У вас ложная дихотомия. Обычно как раз получается выбор между длинным кодом с зависимостями и коротким без них: каждая ненужная зависимость приводит к удлинению кода.

Неплохо бы аргументировать ложность дихотомии.

Я скажем приведу такой сценарий зависимости:
Программному модулю нужно получить данные из другого программного модуля.
Простейший путь — объявить их публично доступными и обращаться к ним из всех других модулей.
Это создание зависимости.
А ее ликвидацией будет реализация кода явной передачи данных нуждающимся в них модулям неким дополнительным механизмом.
Но хороший редактор вам покажет все зависимости по месту объявления этих данных. Так зачем делать лишнюю работу?

Хотя может тут стоит спорить о термине «зависимость».
Я честно в контексте статьи перестал его понимать.
Например, в мире написана целая куча НЕВЕРНОГО кода, который полагается на то, что функция файловой системы, возвращающая список директорий, вернёт их в отсортированном по алфавиту порядке.

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

«Не надо трёпа. Просто покажи свой код.»
UFO just landed and posted this here
Уже не первое десятилетие подобные идеи высказываются :)
Плюсую. Очень радуют авторы, которые в первой строке указывают ссылку — это, мол перевод вот этой статьи.
Это ведь как-раз о том, о чём и статья: такой подход со ссылкой вначале — удобен, но избыточен. Вариант Хабра неизбыточен, но основан на предположении, что все читатели понимают дизайн Хабра :)
Есть баланс. Все можно есть ложкой, но вилки не отменяют.

Так обычно пишут люди из песочницы, ибо не имеют возможности обозначить статью как перевод

Да кто угодно и как угодно. Удобно, только и всего.
Спасибо!
Все глаза проглядел в поиске доступной ссылки, и ни за что бы не догадался до этого варианта. Скорее всего завтра же забуду где таки тыкать :( Прощай карма.

В целом согласен, но за что досталось метапрограммированию?..

Тяжело об этом рассуждать без привязки к языку и платформе, но его часто используют для грязных хаков (добраться куда не предполагалось) и чтобы понтануться (глядите как я умею). Полезные применения тоже, конечно, имеются, но имидж метапрограммирования испорчен первыми двумя случаями.
Я пишу код так, чтобы я за один перекур мог объяснить архитектуру от начала до конца любому новобранцу.
Слово «скучный» мне в данном контексте не понравилось.

Когда написал хорошее решение, которое изящно, штатно, без нагромождений и ненужных зависимостей решает твою задачу так, словно все ее решали за тебя, а тебе осталось только взять и положить,
Когда чувствуешь, что ты нашел то самое, где не надо париться, а все уже было сделано и надо было просто узнать что готовое решение лежало вот в той библиотеке.
Когда с первого раза после написанного у тебя build succesfull и при этом 100% test passed

Это не скучно, это хочется похвастаться, но блин, то что только что произошло, поймет 2.5 человека, а из-за NDA им и детали рассказать нельзя.
Sign up to leave a comment.