четверг, 9 июля 2009 г.

О плохих вещах в программировании

Есть несколько вещей, которые меня доводят (отсортировано в произвольном порядке):
  1. Суровость. Программер пишет новый модуль/класс, которым должны пользоваться другие программеры и не оставляет ни единой строчки комментариев. Встречал мнение, что написание комментов означает нечто плохое, якобы ты "снижаешь свой уровень программирования" тем самым. Возможно, твой код действительно лучший и читаемый, но поверь, что это сразу не поймешь. Моё мнение, что такого быть не должно. Сам столкнулся с кучей недокументированного кода. Ну а смысл? Там, где я разобрался бы за 1 минуту, мне приходится разбираться 15. А если я лезу в новые дебри, то несколько часов разбирательств гарантированны.
  2. Изобретательство велосипедов. Ну это вообще бред.
  3. Нешаблонное мышление в плохом смысле этого слова. Когда ты делаешь некий компонент или класс, то должен понимать "ага, тут мы следуем MVC модели, а это значит, что в вид нельзя запихивать получение данных". Это серьезный вопрос. Старшие товарищи должны объяснять младшим "как надо".
  4. Отсутствие контроля со стороны старших программистов. К сожалению, code-review для меня несбыточная мечта. Плохо.
  5. Присутствие "индуса" в команде. Это вообще тихий ужас. К счастью, такого сейчас нет.
  6. Отсутствие амбиций у команды... это когда просто кодят, выполняют свою работу и ничего больше. Скучно работать становится.
  7. Отсутствие автоматических тестов. Это просто большая ошибка. Твои заказчики будут тебя ненавидеть за то, что они являются твоими тестерами. Хоть часто и говорят "все не протестируешь", "у нас тут gui", "сложная логика", но мое мнение, что надо разрабатывать соответствующие механизмы, инструменты и такие проблемы решатся. Да это затраты, да это время. Может я просто никогда не был тим-лидом, поэтому так и считаю...?
  8. Нарушение DRY (Don't repeat yourself) принципа. Очень тоскливо, но зачастую, как мне кажется, невероятно сложно избегать DRY. Нужно видимо быть по-настоящему крутым прогером, чтобы такие вещи в твоем продукте не допускались.
  9. Отсутствие общей "багзиллы". Это провоцирует такие вещи, как "да это же известный баг!". Да, конечно он очень известный и был в рассылке аж полгода назад. Глупо. Тем более зачастую если я нашел баг, то мне не хочется или не хватает квалификации его исправить. Так бы я занес его в багзиллу и кто-то "постарше" исправил. Действия по принципу "сам нашел - сам и исправляй" на мой взгляд неуместны.

Комментариев нет:

Отправить комментарий