четверг, 20 марта 2008 г.

О читабельности кода

Недавно стал задумываться о том, какого хрена молодые разработчики (особенно студенты) сильно не гадуют почему нужно переменные, методы, классы, интерфейсы и т.д. и т.п. называть нормальными именами( как их принято называть жаваподобными именами). Каждый раз называют любимыми x, y, i и т.д. В чем заключается собственно барьер?
Школа. Проблема на мой взгляд кроется даже не в увиневере, а в школе. Итак вспоминаем школу урок математики. Приводится какая то задача и там же как было принято какие то неизвестные величины, тобишь переменные всегда называются x и y. Далее идет огромное дерево решений с использованием этих имен. При этом это является нормальным для всех, читабельным решением.
Универ. Такая же фигня после этого наблюдается и в универе когда препод говорит мол называем прибыль x, себестоимость a, цена b. И давайте мол решение автоматизируем и напишем x = b - a; и все счастливы. А на первый вопрос как во всем этом разобраться советует писать комментарии. Вот и настает полная фигня и бардак в коде. А это извините меня 10 лет в школе(грубо говоря) и 5 лет(в универе) впихивание таковой культуры.
Естественно на первые грабли такие товарищи наступают очень быстро, при первом же коммите ну или чуть позже, если конечно человек устроился на работу в команде)). По правде я когда то видел целые группы разработчиков у которых x и y-ки забиты в проекте и сопровождаются не менее большими комментариями. Это уже полный ахтунг.
Помню случай когда студенты спорили друг с другом на то, кто пишет труднее и в чьем коде трудней разобраться и это на самом деле для них являлось просто офигительным решением. Смешно конечно, но это было на самом деле.
Лекарство. Самый лучший пример по извлечению таких вредных привычек у такого товарища наверное просто заставить переписать его собственный код под новую логику. Там и выходят все отрицательные стороны его подхода и человек начинает понимать собственные ошибки. Если не понимает, то писец... Лучше сменить порфессию, либо работать одному.
P.S. Мысль возникла после того, как увидел автоматически сгенеренный скрипт от TestComplete(кто видел, тот наверное поймет). Такое впечатление что его писали именно такие товарищи о которых
писалось выше...
Хотелось бы подчеркнуть что тоном хорошего кода является не только название переменных конечно, но как то это зацепило так что не судите строго:)

среда, 12 марта 2008 г.

Интересный пост о КырНете

Товарищ Пузанов недавно написал собственное ИМХО по поводу плачевной ситуации стартапов в Кыргызстане. Собственно сам пост http://news.kg/?p=548 . Неожиданно тема получила большую огласку и стала большой темой для обсуждения. Что же на мое мнение так это то, что все аргументы обоснованы и отражают суровую действительность, сложившуюся на сегодняшний момент...