IID>За сдержанность и адекватность В более ранних постах этого сильно не хватало.
Да, вы абсолютно правы, в этом моя ошибка.
Я стал что-то доказывать людям, продвигать среди них свои идеи.
А вот к конструктиву и добавить нечего, кроме "спасибо" .
Здравствуйте, Roman Odaisky, Вы писали:
RO>Здравствуйте, AntZ, Вы писали:
U>>>Так лучше: AZ>>Дрянь <…> дерьмо
RO>Каким-то чудом с использованием этого стиля была написана целая ОС… ее даже используют… новые версии выпускают.
U>Разумеется, у меня есть эталон стиля кода — это стиль исходного кода ядра Windows. U>Далеко не все программисты умеют и хотят писать код хотя бы примерно так.
У Борланда во фреймворках начала 90х был код еще лучше. Но код ядра Windows (примеры DDK) действительно очень хорош.
На самом деле, если человек пишет угребищный код — то у него в первую очередь плохой опыт работы в серьезных командах.
U>>Далеко не все программисты умеют и хотят писать код хотя бы примерно так.
Pzz>Я тоже думаю, что связь есть. Но Вы совершаете ошибку, считая эталоном один конкретный стиль.
Сказано "хотя бы примерно так".
Pzz>Есть много хороших стилей. Не все из них понравятся Вам. Более того, я заглянул вниз по треду, где Вы приводите пример хорошего стиля — на муй вкус он так себе. Слишком много комментариев в коде так же плохо, как и слишком мало — за ними теряется собственно код. Для детальной спецификации функции есть отдельное место — называется документация.
...и лучшее место для нее — это комменты. Преимущества такого подхода неисчислимы. Например, они всегда чекинятся одновременно с функцией.
Pzz>Зачем писать параметры в столбик там, где они помещаются в строчку, мне вообще трудно понять. Количество строк, которое одновременно помещается на экране, конечно. Даже на 24'' мониторе. И расходовать их попусту неразумно.
Если параметров просто много — то есть смысл, чтобы четче понимать, где какой параметр.
Pzz>А уж Ваш столь уверенный выбор между my_cool_func() и myCoolFunc() — чистая религия. Юниксовскому человеку в среднем больше понравится первый вариант, виндузятнику — второй. Набирать на клавиатуре удобнее первый.
Ровно наоборот. Набрать подчерк — крайне неудобно.
Кстати, насколько я помню, Апач юниксный проект, а там mixed case.
Pzz>Да, и я бы, кстати, три раза подумал, прежде чем брать на работу человека, который не скрывает, что он нелегально заглядывал в исходники ядра — мне не нужна перспектива судебного разбирательства с мелкософтом.
Можно расслабиться. Есть примерчики из DDK, они в том самом стиле.
Здравствуйте, Pzz, Вы писали:
Pzz>Да, и я бы, кстати, три раза подумал, прежде чем брать на работу человека, который не скрывает, что он нелегально заглядывал в исходники ядра — мне не нужна перспектива судебного разбирательства с мелкософтом.
Нелегально не заглядывать, а использовать у себя в программе. Так что подумай еще
U>Сколько минусов мне понаставили, аж валяюсь от смеха. U>Ни одного плюса, если не считать + от IID. Кстати, интересно — за что?
Имидж супермена нанимающего людей которые владеют "правильным" стилем кодирования (а правильный это CSPTRBRZPTR ILoveWindowsStyle(PRZBRDMUX ThisIsSmartParameterNumberOne, 15 more parameters)) моментально разрушен.
Вижу мальчика из детского сада, который жалуется воспитателю "а Вася сказал что я дурак".
P.S. Отбросьте предрассудки и откройте сознание, нет "единственно правильного" стиля кодирования. Если канидидат четко придерживается стиля который мне не нравится, то это не значит что он плохой программер. Мне например совсем не нравятся виндовые типы типа LPСTSTR (который LONG POINTER to CONSTANT T STRING, притом пофиг что long, far и near pointerов нет уже лет десять). А теперь скажите мне что в винде означает тип NMSHN, хотя бы идентифицируйте где его искать? Это Вы называете стилем достойным подражания?
MSS>У Борланда во фреймворках начала 90х был код еще лучше. Но код ядра Windows (примеры DDK) действительно очень хорош.
Примеры DDK — код вылизанный для юзеров, думаю что требования к "open source" на порядок выше, чем к "закрытому" коду. Некоторые части виндовс написаны блестяще, некоторые просто безобразно. На мой взгляд самый бездарный кусок Windows — Shell. Набор разрозненных функций, названных как попало с уродскими структурами в виде параметров, работающих через одно место сзади и плохо документированных.
MSS>На самом деле, если человек пишет угребищный код — то у него в первую очередь плохой опыт работы в серьезных командах.
Не факт. Один и тот-же человек может написать блестящий код, а может полное дерьмо, причем практически в одно время.
То есть, будь Ваша воля, ходить разработчикам STL без рук?
Правила форума нарушены.
— оверквотинг
Правила можно найти в разделе FAQ данного форума и\или ресурса.
Нарушение правил может повлечь за собой санкции, описанные там же — модератор
Здравствуйте, aik, Вы писали:
Pzz>>Да, и я бы, кстати, три раза подумал, прежде чем брать на работу человека, который не скрывает, что он нелегально заглядывал в исходники ядра — мне не нужна перспектива судебного разбирательства с мелкософтом.
aik>Нелегально не заглядывать, а использовать у себя в программе. Так что подумай еще
Хуже всего сделать что-то интересненькое, и получить судебное разбирательство на тему, что идея/код украдены из нелегально увиденных исходников. Если человек всюду звенит, что он эти исходники читал, наверное и на суде это всплывет. Нафиг-нафиг. Меньше знаешь — лучше спишь
Здравствуйте, Maxim S. Shatskih, Вы писали:
Pzz>>Есть много хороших стилей. Не все из них понравятся Вам. Более того, я заглянул вниз по треду, где Вы приводите пример хорошего стиля — на муй вкус он так себе. Слишком много комментариев в коде так же плохо, как и слишком мало — за ними теряется собственно код. Для детальной спецификации функции есть отдельное место — называется документация.
MSS>...и лучшее место для нее — это комменты. Преимущества такого подхода неисчислимы. Например, они всегда чекинятся одновременно с функцией.
Они (комменты), наверное еще и апдейтятся автоматически? Т.е., поменял поведение функции, глядь, комменты сами и изменились? Или, может быть, современные компиляторы научились хотя бы выдавать предупреждение о несоответствии того, что написано в комменте и того, что написано в коде?
Если нет, то что за радость от того, что они механически чекинятся одновременно с функцией?
Pzz>>Зачем писать параметры в столбик там, где они помещаются в строчку, мне вообще трудно понять. Количество строк, которое одновременно помещается на экране, конечно. Даже на 24'' мониторе. И расходовать их попусту неразумно.
MSS>Если параметров просто много — то есть смысл, чтобы четче понимать, где какой параметр.
Если параметров просто много, значит функция просто продумана плохо.
MSS>Кстати, насколько я помню, Апач юниксный проект, а там mixed case.
1. Это не так
2. Даже если бы это было так, что доказал бы отдельно взятый апач?
Pzz>>Да, и я бы, кстати, три раза подумал, прежде чем брать на работу человека, который не скрывает, что он нелегально заглядывал в исходники ядра — мне не нужна перспектива судебного разбирательства с мелкософтом.
MSS>Можно расслабиться. Есть примерчики из DDK, они в том самом стиле.
Примерчики из DDK просто ужасны. Не в смысле стиля расставления скобочек, а в смысле архитектуры программы. В них любое действие, которое логически состоит из нескольких последовательных шагов, размазано тонким слоем по всему примерчику. Тех, кто учился программировать по DDK, надо долго и мучительно переучивать. К сожалению, многие из них считают себя избранными из-за того, что им посчастливилось покопаться в DDK, и плохо поддаются переучиванию.
Здравствуйте, elmal, Вы писали:
E>Но тут не разработчики виноваты, а то, что исторически сложилось, что над стилями стали задумываться тогда, когда уже много чего стало написано, и никакой переделке уже не подлежит. А виноват в этом не Страуструп, а Керниган с Ритчи, но Си писался так давно, что винить их в том, что сразу не задумались над стилем кодирования, рука не поднимается.
Нет, ну почему же? Керниган и Ричи вполне однозначно пропагандируют определенный стиль. Он даже так и называется, стиль Кернигана и Ричи (сокращенно — K&R)
А Страуструпу точно следует руки оторвать. За неизгладимый вред, нанесенный программерской индустрии его ужасным детищем.
Вы всерьез считаете, что в MS именно кодер пишет спецификацию?
По моим недалеким представлениям, с этой шапки (уже для него готовой!) он начинает работать...
...А отсюда наливаем, когда рецепт написан совсем неразборчиво...
Здравствуйте, Pzz, Вы писали:
MSS>>...и лучшее место для нее — это комменты. Преимущества такого подхода неисчислимы. Например, они всегда чекинятся одновременно с функцией. Pzz>Они (комменты), наверное еще и апдейтятся автоматически? Т.е., поменял поведение функции, глядь, комменты сами и изменились? Или, может быть, современные компиляторы научились хотя бы выдавать предупреждение о несоответствии того, что написано в комменте и того, что написано в коде?
Проекту doxygen уже 10 лет как стукнуло. Если, к примеру, параметры функции названы правильно, а не имеют вид вроде Param1, и само имя функции отображает ее назначение, то генерируется вполне читаемая документация. С типами аргументов и возвращаемого значения. За исключением вырожденных случаев вроде функций в 500 строк, в которых все равно без поллитры не разберешься.