Pull to refresh

Comments 17

Вот бы еще все этим советам следовали, и не пришлось бы кое-где разгребать и отлаживать методы по 1К строк на С++…
На собственном опыте пришёл к тому, что большую задачу лечге разбивать на модули: написание и отладка кода в итоге становятся проще, также сильно упрощается его чтение и понимание. А написанные однажды обособленные компоненты можно потом использовать в других проектах.

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

Но кто же поверит автору, пока не придет на пресловутом собственном опыте?
Слепо книге не доверишься :) Нужно очень хорошо понимать то, о чём читаешь, ассоциировать материал если не с собственным опытом, то по крайней мере с хорошим примером, который, надеюсь, присутствует в той же книге.

Не ко всему приходишь сразу. Смысл некоторых вещей начинаешь понимать только со временем, даже если и знаешь это раньше.
Если бы еще «бизнес» понимал что эти последние 4-е пункта крайне важны и что на них действительно нужно время и ресурсы — было бы просто превосходно.
А так поулчается как всегда — «бизнес» своим «быстрее быстрее быстрее...» сам же и провоцирует говнописание, ибо в некоторых ситуация либо ты отказываешься изза невозможных сроков либо вынужден привносить каплю/горку/вагончик говнокода…
печально все это…

истинно програмить можно только для себя!
Так и запишем… большой бизнец и искусство программирования вещи не совместимые.
Не то чтобы несовместимые, просто цели у них разные.
У бизнеса цель — заработать деньги, а не писать программы.

Соотсветсвенно с точки зрения бизнеса идеальный модуль, это модуль, максимизирующий формулу «доходОтИспользования — затратыНаНаписание — затратыНаПоддержку» (упрощённо).

И никакие доводы о важности и полезности «искусства программирования» не помогут, если «доходОтИспользования» невелик.
suckless.org/manifest/

Рекомендую почитать, но для Ъ (прошу прощения за не местную терминологию):

Большинство кодеров считает, что чем больше они пишут строк, тем больше работы они делают. На самом деле чем больше строк вы удаляете, тем больше вы делаете.
Прекрасный подход :) Можно лепить из глины кусочек за кусочком, а можно — взять большое глиняное бревно и поубирать все лишнее. Отличное задание на собеседование — сделать работающий код лучше. Можно взять буквально любой модуль и отдать на трепанацию и обрезание. По крайней мере, скажет о человеке ничуть не меньше, чем модуль, заново им написанный.
Если кому интересно, довольно убогая документация на язык есть здесь.

Где «здесь»?
«Например, неверный выбор хранения строк («сишный», с 00 в конце) сделал очень дорогой доработку под использование UTF-8.»

Чем такой формат хранения строк плох для UTF-8?
количество символов.
Потому что сишные функции, используемые для работы со строками, не понимают многобайтных строк. А там много что было построено на стандартных strlen, strstr и прочего добра для того, чтобы быстро работало. Переделать можно было (на всякие mb_strlen, на классы), но много было переделывать. Вот что значит — непродумали изначально. Впрочем, это не сильно мешало: создания многоязыковых систем тогда в проектах не было вообще.
А зачем априори знать количество символов? На практике это почти никогда не требуется без обработки всей строки.
К тому же в ASC2-текстом та же самая история.
Sign up to leave a comment.

Articles