Как стать автором
Обновить

Если хочешь что-то улучшить — начни с себя

Время на прочтение3 мин
Количество просмотров1.3K
Как-то на днях зашли мои размышления в степь «почему-же так много начинающих и не только программистов пишут самый откровенный быдлокод и даже не чувствуют этого?». В том числе и я V_v. Собственно, моя небольшая статья посвящена именно этим размышлениям.

Если разобраться, то что называется быдлокодом? Точнее, что основная масса привыкла подразумевать под этим словом? Как правило это в большинстве случаев «трудноусваиваемый» продукт, т.е. куски исходников, которые нужно очень долго анализировать перед тем, как что-то в них изменить и, по существу, эти куски (при условии того, что ты знаешь, что этот кусок именно делает) проще переписать правильно, чем исправить в нормальное состояние. Либо это есть какие-нибудь явные грубейшие ошибки, которые более опытный программер просто не допустит. И эти ошибки в своей мелочи очень часто приводят к фатальным последстиям для приложения — критическим перегрузкам, изрядным недочетам или неработоспособности и несовместимости разных кусков приложения между собой.

Многие говорят, что это неправильно, с этим нужно бороться и это не true way. И очень многие возмущаются и не одобряют такой процесс написания. Но все-таки стоит разобраться в некоторых причинах — почему именно так происходит? В процессе своих размышлений я пришел к некоторым интересным выводам:

1. Человек привык думать только о себе.
Да, как ни странно, наш, свойственный каждому, эгоизм — одна из первейших причин плохого кодинга конечного продукта. Такие разработчики, как правило, являются исключительными эгоистами не только в программировании, но и в обычной жизни. И, я бы даже сказал, скорее реальная жизнь отражается на их стиле кодинга, а не наоборот. Основополагающая вещь здесь — не думать ни о ком, кроме себя. Не оставлять коментариев. Писать так, как удобно тебе, а не так, как будет понятно и читабельно всем остальным. Т.е. написание максимально удобного и понятного для себя и минимально осознаваемого для всех остальных.

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

Я даже сомневаюсь, что это как-то можно исправить.

2. Костыли ради костылей.
В основном такая причина возникает только тогда, когда программера заставляют перестать думать и начать делать. Сверху наседает заказчик или начальник, горит проект, начинаются овертаймы и неустойки и т.д. и т.п. В общем, времени у инженера на подумать остается только в курилке. И то, при условии, что он курит. В других случаях авральная работа приводит порой к таким изяществам в исходниках, которые не то что показать — самому исправлять стыдно.

И получается продукт, главным образом основанный на фразе «Работает — не трогай!». И основная причина, как по мне, такого проявления слабости — боязнь получить выговор, лишиться премии или еще чего-нибудь эмпирического. Да, мы боимся. Мы просто боимся спокойно растолковать, что на эту задачу у нас уйдет больше времени, потому как она должна быть хорошей при нас и должна остаться такой же хорошей после нас как по внешнему виду, так и по исходному коду и внутреннему устройству. И вместо этого лепим «тяп-ляп», лишь бы работало и можно было поскорее избавиться от назойливого заказчика / PM'а

3. Незнание
С одной стороны — это и самый простой способ получить быдлокод, но и самый сложный. И, снова же, все зависит уже от самоорганизации человека и его настроений. На что он расчитывает, когда что-то пишет и чего он желает добиться, с каким подходом и настроением приходит к своей задаче и что в итоге у него получается. Даже банальное «сколько часов ты думал над правильной реализацией фильтра» может показать, насколько серьезно человек подходит к своему делу.

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

Небольшой итог

Возможно я и заведу очередной виток холивара, но…
Основное правило хорошего написания:

Если хочешь исправить свой код — вначале исправь себя

Для начала стоит всего лишь:
1. Начать писать не только для себя, но и для остальных. Коментировать код и предполагать, что кому-то в нем потом предстоит разобраться. Очень хорошо, если вы умеете себя ставить на чужое место и думать, как в ваших исходниках будет чувствовать себя индус.
2. Перестать бояться ветряных мельниц и перестать кодить ради побыстрее и работало. Любая задача должна быть решена хорошо, иначе это не решение.
3.Учиться, читать, совершенствоваться и никогда не забывать о том, что ваши грабли — на самом деле были у кого-то до вас и не один раз.

И главное — пишите так, чтобы вам не было стыдно показать не только приложение, но и его исходный код ^_^
Теги:
Хабы:
Всего голосов 16: ↑13 и ↓3+10
Комментарии5

Публикации

Истории

Ближайшие события

7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань