|
Регистрация | Файлы | Правила | Альбомы | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
Прочая документация Помощь, книги, инструкции, описания |
|
Опции темы | Поиск в этой теме | Опции просмотра |
21.12.2010, 21:50 | #1 |
Администратор
|
Стандарты написания кода в патчах
На текущий момент в ядре одни и те же места (условия, циклы, функции и т.д.) пишутся по-разному, поэтому нередко возникают "пустые" коммиты с правкой этих недочетов.
Есть ли какое-нибудь толковое руководство по стандартам написания кода в ядре мангоса, по которому должны писаться все патчи? Если есть, то было бы замечательно выложить его в разделе написания патчей и продублировать сюда. |
21.12.2010, 23:00 | #3 |
Администратор
|
Особенно интересуют стандарты написания функций с параметрами, т.к. в ядре есть:
void Func ( uint32 a, uint32 b ) void Func (uint32 a, uint32 b) void Func(uint32 a, uint32 b) и различные модификации. |
21.12.2010, 23:24 | #4 | |
MaNGOS Dev
Регистрация: 09.02.2010
Сообщений: 594
Сказал(а) спасибо: 315
Поблагодарили 438 раз(а) в 181 сообщениях
|
Цитата:
Так что это тоже встречается если не отследили.
__________________
Так как устал объяснять знайте ICQ не пользуюсь |
|
22.12.2010, 07:31 | #5 |
MaNGOS Dev
Регистрация: 07.03.2010
Сообщений: 314
Сказал(а) спасибо: 30
Поблагодарили 153 раз(а) в 83 сообщениях
|
Это можно настроить.
|
22.12.2010, 07:35 | #6 |
Forum bot
Регистрация: 01.02.2010
Адрес: пусто
Сообщений: 841
Сказал(а) спасибо: 286
Поблагодарили 418 раз(а) в 190 сообщениях
Записей в дневнике: 60
|
а по уже имеющемуся коду пакетной заменой пройти.
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки. |
22.12.2010, 08:56 | #7 | ||
Умный
Регистрация: 02.07.2010
Сообщений: 434
Сказал(а) спасибо: 27
Поблагодарили 73 раз(а) в 45 сообщениях
|
Цитата:
но какая разница как декорированы функции ? для компилятора это три одинаковых объявления Зачем делать патч для убирания/добавления лишних пробелов или отступов, это же не изменит ни байта в результирующем коде. Если так уж сильно хочется привести все к единому стилю оформления то надо прогнать все исходные тексты какой-нибудь утилитой для пакетной обработки исходников. На вскидку не назову такую, но наверняка есть. И вообще в книге Джеффа Элджера есть шикарное высказывание на эту тему, приведу цитату: Цитата:
Последний раз редактировалось Йоха; 22.12.2010 в 09:04. |
||
Пользователь сказал cпасибо: | KiriX (22.12.2010) |
22.12.2010, 09:16 | #8 |
Ученый
Регистрация: 02.04.2010
Сообщений: 237
Сказал(а) спасибо: 41
Поблагодарили 99 раз(а) в 44 сообщениях
|
MaNGOS - это открытый проект, его код читают тысячи людей. Для этого существуют стандарты написания кода, чтобы угодить всем, и сделать код читаемым как книжку.
|
22.12.2010, 09:20 | #9 | ||
Умный
Регистрация: 02.07.2010
Сообщений: 434
Сказал(а) спасибо: 27
Поблагодарили 73 раз(а) в 45 сообщениях
|
Цитата:
Хорошо читаемый код это прежде всего грамотно продуманая идея Цитата:
Уверен что идея заставить всех программистов использовать единый стиль - это утопия. Так же уверен что бороться надо только с такими формами записи которые действительно трудно читаемы, например: для примера посмотрите исходники arrai, вот там действительно черт голову сломает и в конце концов, перед коммитом патчей - прогонять весь новый код через форматер, и будет вам счастье. Последний раз редактировалось Йоха; 22.12.2010 в 09:25. |
||
Пользователь сказал cпасибо: | KiriX (22.12.2010) |
22.12.2010, 10:52 | #10 | |
Ученый
Регистрация: 07.03.2010
Сообщений: 138
Сказал(а) спасибо: 200
Поблагодарили 143 раз(а) в 49 сообщениях
|
Цитата:
Если стиль кода стандартизирован, то и писать легче, и искать ошибки, и на психику положительно влияет . |
|
22.12.2010, 10:56 | #11 |
Администратор
|
Стандарты придумали не идиоты и не просто так, поэтому надо писать в едином стиле.
|
22.12.2010, 14:28 | #12 | |
Умный
Регистрация: 02.07.2010
Сообщений: 434
Сказал(а) спасибо: 27
Поблагодарили 73 раз(а) в 45 сообщениях
|
Цитата:
На практике дела обстоят таким образом что у каждого программиста есть свой стиль или свои предпочтения в оформлении исходного кода. И переучиться достаточно сложно. Я вообще не думаю об этом когда пишу код, привычка так сказать. Никто же при ходьбе не думает о том как надо это делать, какую ногу поднять, какую опустить и в какой последовательности. Мы просто идем не задумываясь о том как это получается. Так что мое личное мнение что 100%-ая гарантия единого стиля оформления кода во всем проекте - это обрабатывать все новые файлы автоматическим форматером. |
|
Пользователь сказал cпасибо: | KiriX (22.12.2010) |
22.12.2010, 14:30 | #13 |
Умный
Регистрация: 02.07.2010
Сообщений: 434
Сказал(а) спасибо: 27
Поблагодарили 73 раз(а) в 45 сообщениях
|
P.S. теоретически я за стандарт в оформлении кода. Было бы забавно если бы компилятор выдавал ошибку если где-то стоит лишний пробел или фигурная скобка как-то не так стоит -)
|
Пользователь сказал cпасибо: | KiriX (22.12.2010) |
22.12.2010, 14:39 | #14 |
WowCore Dev
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
|
парни, вы все правильно говорите. единый стиль и всё такое. я тоже за единый стиль - это сильно упрощяет жизнь.
я вам даже больше скажу, у меня у самого с течением времени этот стиль немного видоизменяется. короче говоря хочу сказать, работая в большой софтверной компании (около 1000-1500 человек), работая с иностранными кастомерами, которые аутсорсят код одного проекта не только в россию, могу сказать что единый стиль - это действительно утопия никого не научишь единому стилю. нет, ну конечно какие то рамки "приличия" все же должны быть, но единого стиля никогда не будет. это даже и неправильно - заставлять кодера писать в "чужом" стиле, считается в канаде и америке. да и в европе тоже (полтора года работы в шведском эриксоне). проблема решается реально просто: в скприпте компиляции встроены команды на запуск тулзов, приводящий код к этому пресловутому единому стилю. и всё. и никто не парится. а в европе вообще даже и этого не делают. всем срать похоже. мэинтанс этого кода конечно сложнее, но по факту ни разу не вызывал каких либо сложностей. |
Пользователь сказал cпасибо: | KiriX (22.12.2010) |
22.12.2010, 17:40 | #15 |
MaNGOS Dev
Регистрация: 09.02.2010
Сообщений: 594
Сказал(а) спасибо: 315
Поблагодарили 438 раз(а) в 181 сообщениях
|
1. В мангосе очень рудиментированные требования по стилю, и старый код правится по мере возможности - кстати это еще одна возможность его просмотреть на предмет глюков.
2. Использование тулзы по приведению всего и вся, а потом расхлебывание каких-нибудь диких багов в вызове макрос, потому что она чего-то там не так пропарсила - извините нам этого не надо. Стиль это не нечто, что требуется применить любой ценой. 3. Речь идеть только о желательности использования неких договоренностей по стилю при добавлении нового кода. Например разномастное использования формата имен для функций/ классов/ типов/ макросов/ аргументов/ локальных-переменных/ полей (всмысле для каждого из перечисленного конкретно) сильно усложняет чтение кода. Тоже относится к отсупам и и т.д.
__________________
Так как устал объяснять знайте ICQ не пользуюсь Последний раз редактировалось Vladimir; 22.12.2010 в 17:43. |
Пользователь сказал cпасибо: | virusav (22.12.2010) |
23.12.2010, 09:40 | #16 |
Forum bot
Регистрация: 01.02.2010
Адрес: пусто
Сообщений: 841
Сказал(а) спасибо: 286
Поблагодарили 418 раз(а) в 190 сообщениях
Записей в дневнике: 60
|
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки. |
3 пользователя(ей) сказали cпасибо: | PSZ (24.12.2010) |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Разбор кода Спелов | partizanes | Прочая документация | 7 | 24.01.2012 15:29 |
Помощь написания SQL запроса. | NarkoHeal | Новичкам | 3 | 10.10.2010 02:31 |
Редактирование кода | Klark | Корзина | 8 | 31.05.2010 10:39 |