Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Ср ноя 22, 2017 10:13 am

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 18 сообщений ]  На страницу 1 2 След.
Автор Сообщение
 Заголовок сообщения: Стандарт написания кода
СообщениеДобавлено: Чт апр 05, 2007 10:28 am 
Я думаю уже созрела необходимость введения такого стандарта.
Как правильно заметил товарищ Ленин по ссылке http://meos.sysbin.com/viewtopic.php?p=10884
Цитата:
Есть ведь гайдлайны (руководства) по написанию кода на разных языках. Существуют они как раз для повышения сопровождаемости кода.

Колибри - это открытый проект, соответственно разные люди могут писать код для неё. Написанному коду нужно сопровождение (исправление ошибок или добавление новых возможностей) людьми, не писавшими этот код. Отсутствие такого стандарта приводит к появлению самого разношёрстного кода, в котором может разобраться только сам автор и то, если пройдёт немного времени. А по прошествии какого-то времени при возникновении ошибок появляются мысли о том, что гораздо легче написать заново, чем разобраться и модифицировать существующее. Такими образом можно постоянно на одном месте топтаться.

Я предлагаю разработать такой стандарт для проекта Колибри.
Если народ за, то я в скором времени могу предоставить черновой вариант.

Приведу несколько ссылок по теме
http://www.textrush.com/download/asm-co ... d-hyde.pdf
http://www.pherber.com/work/stds/asmstd.html
http://www.ee.ryerson.ca/~kclowes/stand ... index.html


Вернуться к началу
   
 Заголовок сообщения:
СообщениеДобавлено: Чт апр 05, 2007 10:54 am 
Я против насильного внедрения стандартов. Дело должно быть сугубо добровольным, так как в противном случае получится обратный результат - люди не захотят вообще писать. Проект ведь не коммерческий и навязывание подобных стандартов неприемлемо.


Вернуться к началу
   
 Заголовок сообщения:
СообщениеДобавлено: Чт апр 05, 2007 11:03 am 
Не в сети

Зарегистрирован: Ср фев 21, 2007 3:03 pm
Сообщения: 188
Это конечно хорошо. Попробуй, лишним не будет.
Но насильно никого не заставишь, все равно, в итоге, большинство будет писать по-своему. Сложно переучится...по себе знаю...

Mario79
Не, что люди не захотят писать вообще - это вряд ли. Просто добрая часть забьет на эти стандарты и все.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Чт апр 05, 2007 11:31 am 
Не в сети
Kernel Optimizer
Аватара пользователя

Зарегистрирован: Пн янв 16, 2006 7:58 pm
Сообщения: 657
Попробуй, напиши. Уж лучше пусть будет один чем каждый будет придумывать для себя велосипед.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Чт апр 05, 2007 11:50 am 
Цитата:
люди не захотят вообще писать

Насколько я понял люди пока особо и не хотят писать.
Я думаю невозможно описать такой стандарт, как обязательный, код бывает разный, он может иметь только рекомендательное значение.
Просто будет появляться код более понятный (читабельный), либо нет.
Я конечно понимаю, что заставить кого-либо изменить себя - это большая проблема. Но ничего невозможного нет. Тем более, что некоторые даже не хотят посмотреть, а что же измениться в стиле написания. Может у некоторых код уже читабелен, и ничего менять не надо.
А будет стандарт (рекомендации, можно и так назвать), люди по-тихоньку будут осваиваться и следовать.

А насчёт коммерческий/некоммерческий, при чём тут это?
Читабельный код в первую очередь влияет на скорость развития проекта, а не на повышение цены конечного продукта.


Вернуться к началу
   
 Заголовок сообщения:
СообщениеДобавлено: Чт апр 05, 2007 12:13 pm 
zhenya_k
В коммерческом проекте от людей можно требовать соблюдения жестких стандартов в свободном нельзя. Какое же это хобби, если тебе еще и указывают, как ты должен работать.


Вернуться к началу
   
 Заголовок сообщения:
СообщениеДобавлено: Чт апр 05, 2007 12:40 pm 
Не в сети

Зарегистрирован: Ср фев 21, 2007 3:03 pm
Сообщения: 188
Цитата:
Может у некоторых код уже читабелен, и ничего менять не надо.

"Что русскому хорошо, то немцу смерть"
для меня мой код читабельный, но я уверен что найдется не один человек, который посмотрит и скажет "Боже мой, что это такое"...
Стандарты - это хорошо, хорошо когда они описаны. Но к сажелению не все придерживаются стандартов. Хороший пример браузеры(WEB-разработчики и WEB-дизайнеры меня поймут). Большинство найдет что-то свое, что ему ближе.

Вобщем ИМХО, это не будет лишним и даже будет полезным (но, к сожалению, не в той мере в какой бы хотелось).


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Чт апр 05, 2007 1:10 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3929
Стандарт нужен даже на уровне форматирования текста. Я всегда делаю отступ на 12 знаков и не пользуюсь табуляцией. Некоторые выравнивают на 9. другие вставляют табы. Метки у одних с нулевым отступом у других почти в тексте. Надо для начала хоть с этим определиться.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Чт апр 05, 2007 1:43 pm 
Serge
Посмотри на тему табов и пробелов эту статейку. Мне она показалась стоящей внимания. К сожалению она ориентирована на высокоуровневые языки, к коим ассемблер трудно причислить.
http://dklab.ru/chicken/nablas/11.html

Mario79
Цитата:
если тебе еще и указывают, как ты должен работать

Я могу ответить только поговорками
"Век живи - век учись."
"Имеющий уши, да услышит"

Указывать - неверное слово, по отношению к моему предложению. Я наверно слишком круто обозвал тему, использовав слово "стандарт". Понимай его как рекомендацию. Если человеку ничего не рекомендовать, особенно хорошее, то он ничего и не узнает.
Цитата:
требовать соблюдения жестких стандартов

Насчёт "требовать" я уже выразился до этого. Здесь никто ничего не требует. По поводу "жестких" - я ничего пока ещё не навязал, и тем более не сказал, что надо делать только так. Моё дело предложить, дело других согласиться или поправить, и только некоторых дело - использовать.
Я конечно "зелёный" или "салага" для этого проекта, поэтому на меня можно просто наезжать, наверно этим и можно объяснить необъяснимые нападки.


Вернуться к началу
   
 Заголовок сообщения:
СообщениеДобавлено: Чт апр 05, 2007 1:54 pm 
zhenya_k
Боже мой! Да где ты увидел наезд и нападки? Я разве требовал прекратить работу в данном направлении?
Я просто привел свои аргументы, чтобы избежать впоследствии обязаловки. Уж очень у нас любят вводить обязаловку.
Стандарты действительно жизненно необходимы там, где без них ну никак нельзя. Например, протоколы коммутирования или научные проекты, где вложены большие суммы денег.
Просто разводить бюрократию на пустом месте было бы не самым лучшим решением.
Я совсем не хотел тебя обидеть или задеть, раз уж ты воспринял мои слова как наезд, мне очень жаль.


Вернуться к началу
   
 Заголовок сообщения:
СообщениеДобавлено: Чт апр 05, 2007 1:55 pm 
Не в сети

Зарегистрирован: Чт дек 21, 2006 10:51 am
Сообщения: 88
Ну пусть будет стандарт и небольшая рефакторная программка которая приводит тексты к стандарту.

Такую муть как имена переменных и т.д. в стандарт лучше не включать, ну то есть если типа этого

db MyVaRible то пусть в стандарте будет db myVarible но не будет ограничений типа db BmyVarible.

Ну и конечно в стандарт должно быть включено обязательность документирования кода коментариями, хотя бы заголовком с копирайтами и чего собственно этот фай делает. В стандарт так же должен быть включен язык (Русский/Английский...) на котором эти коментарии будут написаны.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Чт апр 05, 2007 3:13 pm 
Цитата:
Просто разводить бюрократию на пустом месте было бы не самым лучшим решением.

Я тоже согласен, что это похоже на бюрократию на пустом месте. Но также мне кажется, что это будет полезным.
К тому же я хочу чего-нибудь сделать на общее благо и это мне пока интересно, а такая мелочь мне вполне по силам.

И всё-таки повторюсь, читать слово стандарт следует как рекомендацию в этом случае. И я эти рекомендации не придумаю сам, а возьму из разных мест. Остальные добавят, что по их мнению подходит, а что нет. Главное, чтобы таким новичкам, как я, было куда глянуть, как оформлять свои работы, чтобы они были полезны другим.


Вернуться к началу
   
 Заголовок сообщения:
СообщениеДобавлено: Чт апр 05, 2007 6:33 pm 
Не в сети
Site Founder
Аватара пользователя

Зарегистрирован: Вс авг 08, 2004 8:55 am
Сообщения: 689
Mario79
Такое ощущение, что тебя это как-то касается. Ты же "из-за меня" уже год как ничего по ядру не пишешь. Кстати, что ты думаешь по поводу собственного стандарта (я про БДВК)?

SHREDER
Под правилами именования переменных я имел в виду нотацию, в которой они написаны. Согласись, есть разница между MYVAR, MyVAR, myVar и my_var. Также, не лишней является рекомендация по поводу того, что имя переменной должно соответствовать её использованию. Например, сейчас у нас в ядре есть MOUSE_VISIBLE (const.inc), хотя используется она так, что впору назвать её MOUSE_INVISIBLE.

All
У кого есть вопросы по моему видению такого "стандарта" и видению его другими, отметившимися здесь (там не только я сижу), - добро пожаловать на IRC: сервер kolibrios.org, порты 6665-6669, канал #general

_________________
in code we trust


Последний раз редактировалось Гость Пт апр 06, 2007 9:06 am, всего редактировалось 2 раза.

Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Чт апр 05, 2007 7:12 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3929
Ленин

Насчёт MOUSE_VISIBLE согласен. "Крестил" её я. Раньше это была безымянная [0xF204]. Практически все константы в верхнем регистре отыскивал и называл я. Потогму они все и в верхнем регистре чтобы знать что данные размещены по абсолютным адресам. ИМХО в системе таких переменных должно быть как можно меньше. Поэтому надо их обявить обычным образом через dd и дать подходящее имя.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Чт апр 05, 2007 7:54 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пн ноя 28, 2005 8:00 pm
Сообщения: 1601
Serge
У меня такое впечатление, что в какой-то момент создания кода абсолютные адреса предназначались для возможности доступа к данным извне ядра... поэтому они и не определены как переменные внутри ядра...
Цитата:
Стандарт нужен даже на уровне форматирования текста. Я всегда делаю отступ на 12 знаков и не пользуюсь табуляцией. Некоторые выравнивают на 9. другие вставляют табы. Метки у одних с нулевым отступом у других почти в тексте. Надо для начала хоть с этим определиться.

Я использую табуляцию: команда начинается с позиции 9 (8 пробелов в начале), первый аргумент с позиции 17, дальнейшие через пробел. Тогда можно просто в начале строки долбануть Tab (который у меня в редакторе заменяется соответствующим числом пробелов) и между командой и аргументами - тоже один Tab. IMHO выровненные аргументы смотрятся красивше.


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 18 сообщений ]  На страницу 1 2 След.

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB