Здравствуйте, Unmanaged, Вы писали:
TL>>Извините, тут вмешаюсь и я: Вы серьезно "играете в игру на угадывание стиля"?
U>Встречный вопрос: с чего вы это взяли?
Здравствуйте, Unmanaged, Вы писали:
U>>>Свой стиль я вырабатывал примерно 2 года. TL>>Извините, но зачем?
U>Вам не понять тайного смысла сего действа .
"Эт точно!" (к) красноармеец Сухов
Вообще интересный вопрос образовался: а что, собственно, такое — "свой стиль оформления кода"?
Имеется в виду "свой личный стиль", очевидно...
U>...
U>Смотрим тестовое задание, если не работает - кандидат не прошёл.
U>...
U>Смотрим исходный код правильно работающего тестового задания.
U>Если код не подходит под ряд критериев - кандидат не прошёл.
U>...
U>
U>И конечно, я смотрю, чтобы бы стиль кода кандидата был не хуже моего.
Формализм и радикализм могут экономить время в краткосрочной перспективе.
В долгосрочной перспективе они становятся тяжелыми якорями.
На Вашем месте я бы над этим подумал.
Но я не на Вашем месте — можете не думать
U>Вопрос №1: правильно ли я поступаю? у кого какой опыт в данном вопросе?
Описанный Вами алгоритм действий на 100% правильный в одном из следующих случаев:
— если Вам глубоко начихать на Вашу компанию
— Вам толком нечего предложить Вашим работникам и поэтому к Вам на собеседование идут в основном не квалифицированные кадры
В противном случае Ваш подход слишком рестриктивен и Вам следует диференцировать подход к кандидатам.
U>Вопрос №2: насколько высока subj по вашему мнению?
не ниже 0,2
Здравствуйте, Unmanaged, Вы писали:
U>>>Встречный вопрос: с чего вы это взяли? TL>>С Ваших слов — других исходных данных у меня нет.
U>Ну вот. U>Значит вы неправильно меня поняли. U>Но это уже не мои проблемы.
Без обид! Но именно так думают а) начинающие руководители; б) отъявленные самодуры.
По опыту сталкивался и с теми, и с другими. Вообще с первыми на этом их локальном этапе лучше дела не иметь, а со вторыми — не иметь вообще. Но это — голубая (розовая — цвет по вкусу) мечта...
Я уверен что ваш подход невероятно эфективен ! так держать , нашей компании очень выгодно чтобы вокруг было меньше адекваьных работодателей !!!
спасибо !
Здравствуйте, Unmanaged, Вы писали:
U>Заранее извиняюсь, если поднимаю старую тему — поиском не нашёл. U>Речь пойдёт о корреляции между стилем кода программиста и качеством этого же самого кода.
. . . . U>Разумеется, у меня есть эталон стиля кода — это стиль исходного кода ядра Windows. U>Далеко не все программисты умеют и хотят писать код хотя бы примерно так.
Я тоже думаю, что связь есть. Но Вы совершаете ошибку, считая эталоном один конкретный стиль.
Есть много хороших стилей. Не все из них понравятся Вам. Более того, я заглянул вниз по треду, где Вы приводите пример хорошего стиля — на муй вкус он так себе. Слишком много комментариев в коде так же плохо, как и слишком мало — за ними теряется собственно код. Для детальной спецификации функции есть отдельное место — называется документация. В коде достаточно написать, что функция деляет, и ее неожиданные особенности (например, что ее ни в коем случае нельзя вызывать под таким-то спинлоком). Зачем писать параметры в столбик там, где они помещаются в строчку, мне вообще трудно понять. Количество строк, которое одновременно помещается на экране, конечно. Даже на 24'' мониторе. И расходовать их попусту неразумно.
А уж Ваш столь уверенный выбор между my_cool_func() и myCoolFunc() — чистая религия. Юниксовскому человеку в среднем больше понравится первый вариант, виндузятнику — второй. Набирать на клавиатуре удобнее первый.
Да, и я бы, кстати, три раза подумал, прежде чем брать на работу человека, который не скрывает, что он нелегально заглядывал в исходники ядра — мне не нужна перспектива судебного разбирательства с мелкософтом.
Здравствуйте, Pzz, Вы писали:
Pzz>А уж Ваш столь уверенный выбор между my_cool_func() и myCoolFunc() — чистая религия. Юниксовскому человеку в среднем больше понравится первый вариант, виндузятнику — второй. Набирать на клавиатуре удобнее первый.
Кстати, почему удобнее? Вроде телодвижений побольше, надо жать не Shift+[C], к примеру, а Shift+[-],[c]. Лишнюю клавишу нажимать приходится
Здравствуйте, olegkr, Вы писали:
Pzz>>А уж Ваш столь уверенный выбор между my_cool_func() и myCoolFunc() — чистая религия. Юниксовскому человеку в среднем больше понравится первый вариант, виндузятнику — второй. Набирать на клавиатуре удобнее первый.
O>Кстати, почему удобнее? Вроде телодвижений побольше, надо жать не Shift+[C], к примеру, а Shift+[-],[c]. Лишнюю клавишу нажимать приходится
Не знаю, удобнее и все. ПриВотТакомВотСтиле случается, что не та буква оказывается заглавной. А_при_вот_таком почему-то не случается.
Хм... стилистик для разных языков и платформ много...
Вы под Linux, Симбиан, ucLinux и Java тоже по ядру Windows принимать будите? А там своя стилистика принята и если вы прийдете со своей — вас прогонят точно так же как и вы гоните кандидатов...
Если честно бред это все... Стилистика вещь, которую предерживаешься в зависимости от принятых стандартов и в каждом конкретном случае (компании) и никакой связи с ФУНКЦИОНАЛЬНЫМ качеством кода не имеющая.
U>Кстати, граждане, а что это вы так рьяно принялись обсуждать предложенный мной стиль кода? U>Что же это вы так рьяно стали хаить его, не предлагая никакой альтернативы?
Так Вы ударились в "православие" — взяли один из стилей за канонический, остальные объявили ересью. Стиль может быть разный, важно чтобы он был.
Если программист называет одну функцию GetValue, вторую do_something_smart — то он не следует никакому стилю, даже внутреннему. Для меня переход от do_it_linux_way к ILikeWindows был незвметным и безболезненным.
— во 1 слишком много переводов строк, в этом смысле если мало параметров то можно в 1 строку, если много то как в MSDN, например:
HANDLE CreateFile(
LPCTSTR lpFileName, // file name
DWORD dwDesiredAccess, // access mode
DWORD dwShareMode, // share mode
LPSECURITY_ATTRIBUTES lpSecurityAttributes, // SD
DWORD dwCreationDisposition, // how to create
DWORD dwFlagsAndAttributes, // file attributes
HANDLE hTemplateFile // handle to template file
);
— во 2 описание параметров должно быть в хедере, это более универсально, да и IDE показывает обычно комментарии из хедера, да и doxygen тоже быстрее будет по хедерам прогнать, кстати и комментарии к параметрам MSVC тоже покажет если функция была объявлена как CreateFile выше.
C PrefixSubprefixAction если Prefix и Subprefix обозначают принадлежность к какой то функциональной группе то лучше использовать неймспейсы, а функции именовать как [Сказуемое][Существительное]
Здравствуйте, Unmanaged, Вы писали:
U>Разумеется, у меня есть эталон стиля кода — это стиль исходного кода ядра Windows. U>Далеко не все программисты умеют и хотят писать код хотя бы примерно так.
Это очень похоже на то, что издательство, например, принимает произведения, написанные только в стиле Хэмингуэя... Я, например, стиль Чехова и Толстого им не подходит...
А я, например, Хэмингуэя не люблю — мне его стиль психологически не подходит... А Чехова и Толстого читаю с удовольствием... U>И конечно, я смотрю, чтобы бы стиль кода кандидата был не хуже моего.
Ага, главред требует от писателя писать только как он, а не иначе...
А сам-то до Хэмингуэя дотягивает?
U>Вопрос №1: правильно ли я поступаю? у кого какой опыт в данном вопросе?
Вот и ответ...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
ВЫ платите очень большую зарплату ? Или в вашем городе дефицит рабочих месте в ИТ ?
Если так, то вы вполне обосновано имеете право предъявлять какие угодно требования .
Вообще, любой имеет право предъявлять любые требования, и никаких нареканий они не вызывают. Но только смотрите, чтобы не было как в известной фильме — " Да у меня воз сеня 10 рублей стоит — Стоить-то оно стоит, да никто его не покупает. Никудышное у тебя сено, разве что горит хорошо..."
Ведь при нынешней ситуации на рынке труда скорее наоборот, кандидат выставляет требования
1) Работодатель дал тестовое задание — работодатель не прошел
2) Если работодатель не дал тестовое задание, но собеседований оказалось больше одного — работодатель не прошел.
Здравствуйте, Pzz, Вы писали:
Pzz>Не знаю, удобнее и все. ПриВотТакомВотСтиле случается, что не та буква оказывается заглавной. А_при_вот_таком почему-то не случается.
Мне нравится вотТакой + ВотТакой. вотТак именуются функции, ВотТак — классы. Наверное, придумал это немец.
У стиля standard_template_library есть то преимущество, что там можно по-человечески писать аббревиатуры — что лучше, ReadHtmlCode или read_HTML_code?
Здравствуйте, Sashaka, Вы писали:
S>C PrefixSubprefixAction если Prefix и Subprefix обозначают принадлежность к какой то функциональной группе то лучше использовать неймспейсы, а функции именовать как [Сказуемое][Существительное]