![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
||
|
baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 32 Всего: 101 |
бытие определяет сознание. жаль, что только один вариант ответа. а что насчет смешения стилей? часто в одном проекте используются библиотеки с разными принципами именования. пример - MFC и STL. какой стиль выбрать? что делать (и нужно ли), что бы код смотрелся единообразно? |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 22 Всего: 135 |
![]()
В общем, крайности всегда плохо. И совсем без комментариев нельзя, и перегружать код лишними комментариями - тоже вредно. -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
fish9370 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 15.4.2007 Где: Москва Репутация: -1 Всего: 1 |
я не совсем понимаю, что такое документация к коду, мне кажется документация к коду это комменты (и они кстати тоже нужны).. но то что ни один серьезный проект без документации не обходится - это безусловный факт.. я тут не вижу оснований для спора.. -------------------- undefined |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
Разумеется, я не такие комментарии имела в виду. За такое нужно сразу убивать. Самодокументированность - это четкая логическая структура, ясные имена переменных и необходимый минимум комментариев. . Я под этим понимаю описание классов и их функций. Типа функция XXX класса YYY делает то-то. Как отдельный документ. Считаю, что это лишняя трата времени - и того, кто пишет, и того, кто читает. Такого рода информация нужна только разработчикам, а они могут и код посмотреть (уж точно актуальную инфу получат). А если код в этом смысле написан плохо, то разумнее потратить время на его улучшение, чем не его же описание. Разумеется, если продукт - не библиотека, предназначенная для внешнего распространения. -------------------- ... |
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
borisbn
У нас не до такой степени, но все же комментарии, чаще встречающиеся в нашем кода
Это сообщение отредактировал(а) azesmcar - 21.7.2011, 20:38 |
|||
|
||||
toxx |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 653 Регистрация: 4.3.2009 Где: НН Репутация: 2 Всего: 13 |
borisbn,
azesmcar Ктото из вас написал что коментарии нужны в самых сложных местах, тоже с этим согласен, в остальном должны быть интуитивно понятные названия методов и переменных. А так, как я понял, стиль формируется в зависимости от конкретной команды и тимлидера(в соответствии с его стилем обычно пишут) Поэтому считаю позицию Earnest верной по созданию дока со стилем. |
|||
|
||||
borisbn |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 22 Всего: 135 |
ни тот, ни тот, а как раз Earnest:
Это сообщение отредактировал(а) borisbn - 21.7.2011, 22:38 -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
||||
|
|||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
мне очень не нравится Google's C++ style guide.
совсем случайно наткнулся на эту тему: http://stackoverflow.com/questions/5695082...nce-in-industry радует что не мне одному он кажется нелепым. особенно запрет использовать исключения и обильно шаблоны... ![]() |
|||
|
||||
fish9370 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 15.4.2007 Где: Москва Репутация: -1 Всего: 1 |
с позиции Сишника (мне не нравятся все эти ваши примочки), я считаю, что это вполне оправданно.. код упрощается, значит меньше ошибок.. по поводу исключений, так там с примером показанно какие косяки с этим могут быть.. -------------------- undefined |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
Код упрощается? При неиспользовании исключений? Да ладно! Букв становится больше - ошибки-то все равно обрабатывать нужно. А больше букв - больше возможностей случайно напортачить. Косяки могут возникнуть какие угодно и где угодно. Все зависит от квалификации кодеров. Нет способа защититься от кривых рук, кроме превентивного отстрела. Но как распознать кривые руки еще до того, как они успели нанести ущерб - вот вопрос... ![]() -------------------- ... |
|||
|
||||
fish9370 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 15.4.2007 Где: Москва Репутация: -1 Всего: 1 |
нет, при неиспользовании Си++ А здесь пошли на компромис, между чистым Си и Си++, код стал проще - меньше ошибок, со стороны "криворуких" кодеров.. криворуких взял в кавычки, так как сам язык к этому распологает, это кстати попытка сделать из них пряморуких.. -------------------- undefined |
|||
|
||||
boostcoder |
|
||||||||||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
да ну ладно ;) тебе уже не раз примеры приводили, что с++ код проще. главное иметь прямой моцг.
не-не-не! причина в моцге! Добавлено через 4 минуты и 28 секунд вот тебе еще парочка. банальное получение списка элементов на ФС в текущем каталоге. 1.
http://liveworkspace.org/code/840584682a73...df6c8cd75a70848 2.
http://liveworkspace.org/code/a137f45778dc...002ba5aeda118bd 3.
http://liveworkspace.org/code/457efd76e5d4...38034951d1668eb покажи Си`шный эквивалент ;) Добавлено через 8 минут и 26 секунд вдобавок: с++, с++су рознь. ибо даже в Qt("Си с классами" (с) я) это сделано криво.
вот и пойми кто тут не прямой) |
||||||||||
|
|||||||||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
Ничо подобного! Причина как раз в его отсутствии! ![]() Это из области мифологии, к сожалению... Если у человека нет нужной хромосомы, то как задачу не упрощай - все равно найдет возможность сделать глупость. Нельзя упрощать до бесконечности - на упрощение\ разбиение придется потратить больше времени, чем на решение задачи самому. Так что смысла никакого, кроме 100% занятности населения. ![]() Понятно, у Гуглов может быть свое мнение на этот счет, и они имеют на это право. Как и мы. Добавлено через 2 минуты и 50 секунд Да, кстати еще один аргумент в пользу шаблонов и всяких бустов. Если умудрился написать подобное выражение так, что оно скомпилировалось, то очень много шансов за то, что оно работает правильно. Простой код таких "гарантий" не дает. ![]() -------------------- ... |
|||
|
||||
fish9370 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 15.4.2007 Где: Москва Репутация: -1 Всего: 1 |
если ты про то, что тут меньше писать, то ты будешь прав, но я говорил про простой код (его не меньше, а даже больше).. этот код сложен тем, что не зная буста (как в моем случае), сложно понять, что тут вообще происходит (какое-то адское наследование, уверен, что там куча подводных камней).. ну и пока ты используешь, отлаженую библиотеку, полагаю все классно, но когда начинается реальный проект с кучей участников, где как вы правильно заметили, не поймешь, кто с какими руками, вот тогда и начинается танец с бубном (не знаю я проектов на бусте, мне просто так кажется) на Си я код напишу, сразу как появится время.. -------------------- undefined |
|||
|
||||
boostcoder |
|
||||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
fish9370, естественно, что это уже оффтоп.
но тем не менее... в простом коде(самописном), как показывает практика, больше шансов нагородить ошибок, как ты недавно заметил в теме где ты написал функцию strcmp().
ну вот видишь... а ты про кривизну рук ;) не исключено! но плюс в том, что эти подводные камни отловятся раньше, т.к. этот код юзаю не я один. в смысле boost использую не только я. и это все к тому, что: не нужно городить то, что давно нагорожено.
в реальных проекта, как правило, наказывают за рукоблудие. по причинам написанным выше. к примеру: http://www.boost.org/users/uses_shrink.html Добавлено через 5 минут а вообще, я знаю очень мало проектов на плюсах, написанных не теми кто учился программировать по доке Qt, не использующих boost. сейчас, благо, boost.type_traits и boost.thread перешли в стандарт. это уже в некоторой степени позволяет отвязаться от boost. но все равно многого не хватает: asio. mpl. fusion. function_types. filesystem. iostreams. e.t.c... |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |