Стандарты написания кода в патчах
На текущий момент в ядре одни и те же места (условия, циклы, функции и т.д.) пишутся по-разному, поэтому нередко возникают "пустые" коммиты с правкой этих недочетов.
Есть ли какое-нибудь толковое руководство по стандартам написания кода в ядре мангоса, по которому должны писаться все патчи? Если есть, то было бы замечательно выложить его в разделе написания патчей и продублировать сюда. |
|
Особенно интересуют стандарты написания функций с параметрами, т.к. в ядре есть:
void Func ( uint32 a, uint32 b ) void Func (uint32 a, uint32 b) void Func(uint32 a, uint32 b) и различные модификации. |
Цитата:
Так что это тоже встречается если не отследили. |
Это можно настроить.
|
а по уже имеющемуся коду пакетной заменой пройти.
|
Цитата:
но какая разница как декорированы функции ? для компилятора это три одинаковых объявления Зачем делать патч для убирания/добавления лишних пробелов или отступов, это же не изменит ни байта в результирующем коде. Если так уж сильно хочется привести все к единому стилю оформления то надо прогнать все исходные тексты какой-нибудь утилитой для пакетной обработки исходников. На вскидку не назову такую, но наверняка есть. И вообще в книге Джеффа Элджера есть шикарное высказывание на эту тему, приведу цитату: Цитата:
|
MaNGOS - это открытый проект, его код читают тысячи людей. Для этого существуют стандарты написания кода, чтобы угодить всем, и сделать код читаемым как книжку.
|
Цитата:
Хорошо читаемый код это прежде всего грамотно продуманая идея Цитата:
Уверен что идея заставить всех программистов использовать единый стиль - это утопия. Так же уверен что бороться надо только с такими формами записи которые действительно трудно читаемы, например: для примера посмотрите исходники arrai, вот там действительно черт голову сломает и в конце концов, перед коммитом патчей - прогонять весь новый код через форматер, и будет вам счастье. |
Цитата:
Если стиль кода стандартизирован, то и писать легче, и искать ошибки, и на психику положительно влияет :). |
Стандарты придумали не идиоты и не просто так, поэтому надо писать в едином стиле.
|
Цитата:
На практике дела обстоят таким образом что у каждого программиста есть свой стиль или свои предпочтения в оформлении исходного кода. И переучиться достаточно сложно. Я вообще не думаю об этом когда пишу код, привычка так сказать. Никто же при ходьбе не думает о том как надо это делать, какую ногу поднять, какую опустить и в какой последовательности. Мы просто идем не задумываясь о том как это получается. Так что мое личное мнение что 100%-ая гарантия единого стиля оформления кода во всем проекте - это обрабатывать все новые файлы автоматическим форматером. |
P.S. теоретически я за стандарт в оформлении кода. Было бы забавно если бы компилятор выдавал ошибку если где-то стоит лишний пробел или фигурная скобка как-то не так стоит -)
|
парни, вы все правильно говорите. единый стиль и всё такое. я тоже за единый стиль - это сильно упрощяет жизнь.
я вам даже больше скажу, у меня у самого с течением времени этот стиль немного видоизменяется. короче говоря хочу сказать, работая в большой софтверной компании (около 1000-1500 человек), работая с иностранными кастомерами, которые аутсорсят код одного проекта не только в россию, могу сказать что единый стиль - это действительно утопия :) никого не научишь единому стилю. нет, ну конечно какие то рамки "приличия" все же должны быть, но единого стиля никогда не будет. это даже и неправильно - заставлять кодера писать в "чужом" стиле, считается в канаде и америке. да и в европе тоже (полтора года работы в шведском эриксоне). проблема решается реально просто: в скприпте компиляции встроены команды на запуск тулзов, приводящий код к этому пресловутому единому стилю. и всё. и никто не парится. а в европе вообще даже и этого не делают. всем срать похоже. мэинтанс этого кода конечно сложнее, но по факту ни разу не вызывал каких либо сложностей. |
1. В мангосе очень рудиментированные требования по стилю, и старый код правится по мере возможности - кстати это еще одна возможность его просмотреть на предмет глюков.
2. Использование тулзы по приведению всего и вся, а потом расхлебывание каких-нибудь диких багов в вызове макрос, потому что она чего-то там не так пропарсила - извините нам этого не надо. Стиль это не нечто, что требуется применить любой ценой. 3. Речь идеть только о желательности использования неких договоренностей по стилю при добавлении нового кода. Например разномастное использования формата имен для функций/ классов/ типов/ макросов/ аргументов/ локальных-переменных/ полей (всмысле для каждого из перечисленного конкретно) сильно усложняет чтение кода. Тоже относится к отсупам и и т.д. |
|
Текущее время: 11:52. Часовой пояс GMT +3. |
ru-mangos.ru - Русское сообщество MaNGOS