Здравствуйте, Unmanaged, Вы писали:
U>Заранее извиняюсь, если поднимаю старую тему — поиском не нашёл. U>Речь пойдёт о корреляции между стилем кода программиста и качеством этого же самого кода. U>На данный момент я пришёл к выводу, что связь есть и довольно сильная. U>Вопрос №1: правильно ли я поступаю? у кого какой опыт в данном вопросе?
Правильно. Все зависит от того, на что именно смотреть. Если тебя всерьез расстраивает название "my_cool_func" вместо "MyCoolFunc" или, скажем, расположение "{", то тогда ты поступаешь неправильно, и тебе явно не стоит оценивать чужой код вовсе — квалицикация слабая. Ничего личного.
U>Вопрос №2: насколько высока subj по вашему мнению?
Здравствуйте, Uzumaki Naruto, Вы писали:
UN>Если честно бред это все... Стилистика вещь, которую предерживаешься в зависимости от принятых стандартов и в каждом конкретном случае (компании) и никакой связи с ФУНКЦИОНАЛЬНЫМ качеством кода не имеющая.
Наличие у программиста стиля свидетельствует о структурированности его мышления. А это уже способствует улучшению функционального качества кода.
U>>Разумеется, у меня есть эталон стиля кода — это стиль исходного кода ядра Windows. RO>А откуда программер может быть с ним знаком? :-O
как откуда?! Открываем ntddk (wdk) идем в каталог src и находим сырцы ядра. Там полно виндовских драйверов. Хочется разобраться как принципиально работает ntfs.sys см. код fastfat.sys, cdfs. Логика работы подобна, кончено, детали и форат другие.
Стиль кода, кстати, очень характерный для всех драйверов, никакого c++. Доморощенные списки и очереди. Нормально названные переменные и пр.
Здравствуйте, Unmanaged, Вы писали:
C0s>>а вот два стиля — ну как их сравнить? C0s>>какие вообще критерии для сравнения стиля ты используешь?
U>Например, сравнить читабельность обоих.
Очень странный критерий. Проще будет читать такой код, к которому привык. Поэтому люди с отличным стилем, но немного отличным от windows kernel, будут в пролёте.
Здравствуйте, Pzz, Вы писали:
Pzz>У Кнута ужасный стиль, при всем моем уважении :-) Pzz>Но собственно, он и по профессии не программист, а университетский профессор. По его коду это очень хорошо заметно, как и по книжкам.
Здравствуйте, Roman Odaisky, Вы писали:
Pzz>>У Кнута ужасный стиль, при всем моем уважении Pzz>>Но собственно, он и по профессии не программист, а университетский профессор. По его коду это очень хорошо заметно, как и по книжкам.
RO>А TeX, METAFONT святой дух написал?
Почитайте Алана Голуба
по крайней мере его требования к стилю очень мотивированы,
в отличии от Ваших, которые крайне профанированы.
Кстати, стандартная библиотека, почти, соответствует Голубовским идеям.
В добавок, коментарии лучше всего делать такими, что-бы их понимал doxygen,
только потому, что это фактически стандарт де-факто.
Тот стиль который Вы привели устарел лет 15 назад,
и если вы нанимаете на работу человека младше 40 и который использует подобный стиль,
то Вы нанимаете идиота ...
В добавок. крамольная мысль
особой корреляции между стилем и качеством кода нет
а читабельность ... код !ПРИНЦИПИАЛЬНО! не читаем, любой. Требование читабельности — фикция.
можно требовать только логичности, структуированности и документированности кода.
Если эти признаки присутствуют, то совершенно не страшно, что в проекте пересекаются 2-3 стиля,
лишь бы не в мелочях.
Те критерии которые вы используете для оценки кода, могут использовать только те кто постиг Дао кода,
Вам еще рано
U>Разумеется, у меня есть эталон стиля кода — это стиль исходного кода ядра Windows. U>Далеко не все программисты умеют и хотят писать код хотя бы примерно так.
Запусти Visual Studio 2005 и проверь результат кода:
for (int i = 0; i < 5; i++)
if (i)
printf("%d\n", i);
и кода:
for (int i = 0; i < 5; i++) {
if (i)
printf("%d\n", i);
}
код продуктов MS видимо просто идеален
Здравствуйте, bum-para-pumchik, Вы писали:
BPP>Здравствуйте, Unmanaged, Вы писали:
U>>Разумеется, у меня есть эталон стиля кода — это стиль исходного кода ядра Windows. U>>Далеко не все программисты умеют и хотят писать код хотя бы примерно так.
BPP>Запусти Visual Studio 2005 и проверь результат кода:
А что будет? А то нет возможности запустить Visual Studio 2005... но очень интересно
Здравствуйте, SergeCpp, Вы писали:
SC>Автора вот этого кода на работу возьмёте?
Автор этой программы привел ссылку на первоисточник. Если открыть математическое описание алгоритма, то его реализацию читать будет легче в таком виде, чем с длинными именами. А если не открывать, то разобраться все равно практически невозможно. Реализация математического алкоритма записана в нотации, близкой к математической, насколько это возможно. И это вполне логично в данной ситуации, IMHO.
Здравствуйте, bum-para-pumchik, Вы писали:
BPP>Запусти Visual Studio 2005 и проверь результат кода: BPP>for (int i = 0; i < 5; i++) BPP> if (i) BPP> printf("%d\n", i); BPP>и кода: BPP>for (int i = 0; i < 5; i++) { BPP> if (i) BPP> printf("%d\n", i); BPP>} BPP>код продуктов MS видимо просто идеален
Не удержался, таки попросил товарища проверить это на VS 2005 SP1. Оба куска кода работают одинаково (что, собственно, и ожидалось).
А в чем подвох?
BPP>>Запусти Visual Studio 2005 и проверь результат кода: BPP>>for (int i = 0; i < 5; i++) BPP>> if (i) BPP>> printf("%d\n", i); BPP>>и кода: BPP>>for (int i = 0; i < 5; i++) { BPP>> if (i) BPP>> printf("%d\n", i); BPP>>} BPP>>код продуктов MS видимо просто идеален
АК>Не удержался, таки попросил товарища проверить это на VS 2005 SP1. Оба куска кода работают одинаково (что, собственно, и ожидалось).
Было бы странно, если бы они работали по-разному.
АК>А в чем подвох?