metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2012-07-06 11:27 am

По мотивам

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

[identity profile] enternet.livejournal.com 2012-07-06 10:07 am (UTC)(link)
Проще и надежнее попросить показать свой код, за который не стыдно. Минимум 50кб. Лучше 500кб. Сразу становится понятно почти всё.

Единственный нюанс который всплыл - некоторые говорят про невозможность передачи кода по разным причинам, тогда прошу показать исходники на своём ноутбуке, или предоставить заведомо некомпилируемые куски кода, не содержащие know-how работодателя.

[identity profile] blackyblack.livejournal.com 2012-07-06 10:31 am (UTC)(link)
500 кб кода? Нормальный программист столько редко за всю жизнь пишет. Разве что это программист на яве, который из гугла тащит в проект всё что плохо лежит.

[identity profile] metaclass.livejournal.com 2012-07-06 10:41 am (UTC)(link)
У меня только один из моих проектов, лично написанный - 5.3 мб исходников.
А таких проектов у меня еще 2 две штуки)

[identity profile] blackyblack.livejournal.com 2012-07-06 10:47 am (UTC)(link)
Ну а всё-таки, сколько там реально кода?

[identity profile] metaclass.livejournal.com 2012-07-06 11:13 am (UTC)(link)
Если что - я считаю только собственно исходники.

Ну возьмем проект, полностью написанный вручную на С++ и за месяц отданный в продакшен.
124 кб кода. мелкий проектик, месяц работы.

Можно глянуть проект на Clojure, где еще более лаконичное выражение функциональности - полтора месяца работы - 146 кб кода.

F#, кодогенератор - год работы, 550 кб кода.

Тот проект который я в предыдущем комментарии упомянул - там все таки меньше, написанного кода 2.8 мб, сгенерированного 2.5 мб. 2.8 - это соответственно треть кода проекта вообще, т.к. там еще 3 мб общего с другими проектами кода.

[identity profile] blackyblack.livejournal.com 2012-07-06 11:20 am (UTC)(link)
Ну ладно, убедительно. Но вот, скажем, весь RabbitMQ чуть более 5000 LOC куплен за сколько-то миллионов баксов. 146 кб кода в кложури - это чё-то перебор. У меня проектик на эрланге что-то порядка 20 кб с комментариями и это довольно-таки прилично я считаю.

[identity profile] metaclass.livejournal.com 2012-07-06 11:35 am (UTC)(link)
Ну опердень и опердень. Один не самый сложный документ 2-5 кб кода, документов 20 штук пока, намечается гораздо больше.
Общего кода еще килобайт 70. Эти 70 - 2.5 КLOC
И это мелкий проект - живет всего-то полгода. А у меня тут по 10-15 лет проектам.

7 лет проект, пишет два человека - 10 мб кода. Но это дельфи, он по жизни многословен.

В общем, на дельфях получается 1 мб в год, на кложури раз в 5 меньше :)

[identity profile] thedeemon.livejournal.com 2012-07-06 04:22 pm (UTC)(link)
Вывод: на кложури продуктивность в 5 раз ниже! :)

[identity profile] metaclass.livejournal.com 2012-07-06 11:18 am (UTC)(link)
Глянул еще один проект, C# - 2 года работы, 2 мб только моего кода.

[identity profile] blackyblack.livejournal.com 2012-07-06 11:23 am (UTC)(link)
C# по вербозности та же ява.

[identity profile] enternet.livejournal.com 2012-07-06 11:32 am (UTC)(link)
Да не проблема. Пишешь на K, покажи 500 байт.

[identity profile] blackyblack.livejournal.com 2012-07-06 11:33 am (UTC)(link)
ок

[identity profile] enternet.livejournal.com 2012-07-06 11:50 am (UTC)(link)
Если поднять мою личную статистику, то самый большой проект у меня составлял около 0.5млн строк чистого кода без ресурсов, комментов и прочей шелухи. Писался 8 лет. Размер в МБ не помню. Много GUI и непростая предметная область. GUI по человечески программировать - много кода получается.

Сейчас глянул в один из мелких консольных модулей текущего проекта, там что-то около 0.1МБ C#, 1МБ SQL и 1МБ XSLT. Это без учета разных сторонних библиотек и старого кода.

[identity profile] redplait.blogspot.com (from livejournal.com) 2012-07-06 07:11 pm (UTC)(link)
500kb пишутся за полгода не особо напряжно путем выдирания кусков из отладчика/hex rays. это еще с учетом времени на reverse engineering и отладку

[identity profile] thinker8086.livejournal.com 2012-07-08 12:54 pm (UTC)(link)
Блин, вот это классно, особенно если по порядку
1) покажите 5кб кода, за которые не стыдно
2) покажите 50кб кода, за которые не стыдно
3) покажите 500кб кода, за которые не стыдно

вот на переходе от 2 к 3 я бы сломался наверное (

[identity profile] enternet.livejournal.com 2012-07-08 07:34 pm (UTC)(link)
Сейчас и я на переходе от 2 к 3 сломаюсь )