программерское :: сто строчек в час
Когда-то давно я прочитал не-помню-где умозрительное правило проверки качества программиста. В нём говорилось, что, мол, хороший программист пишет 100 строк кода в час. С тех пор это стало моей маленькой идеей-фикс.
Я умею себя убеждать и лечить от подобных заморочек. Но именно вот эта почему-то никак не хотела сдаваться, несмотря на убедительные аргументы. «Строчки кода бывают разные, даже несмотря на методики подсчета», — так говорил я себе. Или вот так: «Читабельный код объемнее, и его дольше писать, а уж подробные комментарии в этом смысле — вообще смерть для производительности.» И под конец добавлял: «Это правило придумали, когда все писали на ассемблере, современные языки бьют асм по простоте, но не по размерам кода.» Идея-фикс притворялась мёртвой, и дожидалась очередного раза, чтобы вылезти и сообщить: «А вот ты не можешь написать сто строчек в час». И грызла меня неполноценностью все те 10 минут, пока я вспоминал нужные аргументы : )
Но сейчас я наконец-то помашу ей ручкой! Я достиг той степени совершенства, на которой можно за 60 минут выдавать честные 100 строк кода! И только что продемонстрировал это себе : )
комментарии
rageous:
100 строк в час - идея-фикс
лучше бить качеством, а не количеством :)
_arty:
да-да, идея-фикс, я это сразу понял : )
но избавиться от неё было очень трудно
хорошо, что получилось : )
rageous:
я недавно сдал задачу, на которой писал меньше 50 строк кода в день :)
_arty:
добавление чего-то в большую сложную систему?
rageous:
неа, сложная математическая задача
_arty:
а, это да
я не люблю столько думать : )
rageous:
я тож не люблю
но заставляют :)
_arty:
сволочи! © : )
neoromantic:
Ужас какой :)
Нельзя работу программиста строчками мерять. У меня бывают дни, когда я пишу за весь день - около 80-100 строк. Но для того, чтобы их написать я три часа малюю бумагу, рисую диаграммы, изучаю алгоритмы.
_arty:
это понятно, что когда программист думает —случай особый
но если практически все ясно и понятно, и только мелочи-подробности реализации выясняются по ходу дела, то померять производительность можно
все-таки очень хочется быть из тех программистов, которые за десятерых работают : )
neoromantic:
Может и можно. Но только после очень сложной подгонки системы оценки к конкретной задачи. Как то - язык, используемые фреймворки, библиотеки, задача, требования к быстродействию и отказоустойчивости и т.п.
_arty:
а если сравнение делать по-научному, в более-менее одинаковых условиях?
neoromantic:
Ну о том и речь, что одинаковых условий не будет. Даже приближенно.
Даже если дать двум программистам одну и ту же задачу - оценка количества кода толком ничего не даст. Один напишет короче, но забудет какой-нибудь alternate course. Другой - длиннее, но не забудет, но при этом у него будет работать все медленнее.
Собственно, про разные метрики написано много книг. Чаще всего сходятся к тому, что количество кода - одна из самых бестолковых метрик из существующих.
_arty:
не, ну если он забыл что-то, то это скорее всего баг, который нужно исправлять, и после этого по итоговому времени все считать
_arty:
хотя да, я ведь не за то, чтобы считать строчки, я за то, чтобы мерять производительность при написании простых вещей : )
acerv:
Ну знаешь, в час то можно написать и 100 строчек, а потом три часа сидеть отлаживатся;)
_arty:
тогда уж правильнее в час написать 200, и потом ещё час отлаживаться - вот это по-нашему : )
quappa:
Комментарии кстати тоже в LOC можно (и нужно) включать.
_arty:
я так и делал : )
jtraub:
А комментарии ты включал в строки кода или нет :-)
_arty:
конечно, включал : )
я для подсчёта только стёр пустые строки и те, в которых была одна угловая скобка. Правда, я ещё не переносил комментарии после строки на отдельную, но таких было около половины.
acidjazz:
когда скрипт для вебы фигачишь, бывает, накопируешь 75%...
так и 300 строчек можно сделать в час :)
_arty:
китайско/индийский подход : )
не, всё сам, вот этими руками : )
oslikovod:
если я пишу одну строчку кода за пять секунд, можно считать что за час я пишу примерно 1200 строк?
если я за час пишу сто строчек кода, но чтобы придумать их мне нужен месяц на изучение предметной области?
или если как в анекдоте: "Я печатаю тысячу двести символов в минуту... но такая ерунда получается!!!"
или вот замечание Мисаты про веб разработку: один с копи/пэйстит, другой создаст иерархию классов. Результат один, скорость набора примерно одинаковая, но кто лучше?
кстати, врядли правило придумали те, кто пишут на ассемблере, там "логическая" емкость одной строчки маленькая, писать надо много и думать надо о многом(как передаются аргументы в функцию, где они лежат и т.п.)
_arty:
Зачем мне глупые вопросы задаешь, а? : ) Думаешь, я не понимаю всей неполноты критерия?
oslikovod:
а кому их еще задавать? :
_arty:
ну можешь себе, если они так наружу и просятся : )
будут приятно контрастировать с «тварь я дрожащая или право имею» ; )
oslikovod:
себе неинтересно, свои ответы я знаю.
а вот к тебе с глупыми вопросами поприставать милое дело :j
_arty:
а, ну-ну : )
я тогда не буду отвечать :р