Board.KolibriOS.org

Official KolibriOS board
It is currently Wed Jul 17, 2019 8:06 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 18 posts ]  Go to page 1 2 Next
Author Message
PostPosted: Thu Apr 05, 2007 10:28 am 
Я думаю уже созрела необходимость введения такого стандарта.
Как правильно заметил товарищ Ленин по ссылке http://meos.sysbin.com/viewtopic.php?p=10884
Quote:
Есть ведь гайдлайны (руководства) по написанию кода на разных языках. Существуют они как раз для повышения сопровождаемости кода.

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

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

Приведу несколько ссылок по теме
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


Top
   
 Post subject:
PostPosted: Thu Apr 05, 2007 10:54 am 
Я против насильного внедрения стандартов. Дело должно быть сугубо добровольным, так как в противном случае получится обратный результат - люди не захотят вообще писать. Проект ведь не коммерческий и навязывание подобных стандартов неприемлемо.


Top
   
 Post subject:
PostPosted: Thu Apr 05, 2007 11:03 am 
Offline

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

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


Top
   
 Post subject:
PostPosted: Thu Apr 05, 2007 11:31 am 
Offline
Kernel Optimizer
User avatar

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


Top
   
 Post subject:
PostPosted: Thu Apr 05, 2007 11:50 am 
Quote:
люди не захотят вообще писать

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

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


Top
   
 Post subject:
PostPosted: Thu Apr 05, 2007 12:13 pm 
zhenya_k
В коммерческом проекте от людей можно требовать соблюдения жестких стандартов в свободном нельзя. Какое же это хобби, если тебе еще и указывают, как ты должен работать.


Top
   
 Post subject:
PostPosted: Thu Apr 05, 2007 12:40 pm 
Offline

Joined: Wed Feb 21, 2007 3:03 pm
Posts: 188
Quote:
Может у некоторых код уже читабелен, и ничего менять не надо.

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

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


Top
   
 Post subject:
PostPosted: Thu Apr 05, 2007 1:10 pm 
Offline
Kernel Developer

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


Top
   
 Post subject:
PostPosted: Thu Apr 05, 2007 1:43 pm 
Serge
Посмотри на тему табов и пробелов эту статейку. Мне она показалась стоящей внимания. К сожалению она ориентирована на высокоуровневые языки, к коим ассемблер трудно причислить.
http://dklab.ru/chicken/nablas/11.html

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

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

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

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


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


Top
   
 Post subject:
PostPosted: Thu Apr 05, 2007 1:55 pm 
Offline

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

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

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

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


Top
   
 Post subject:
PostPosted: Thu Apr 05, 2007 3:13 pm 
Quote:
Просто разводить бюрократию на пустом месте было бы не самым лучшим решением.

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

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


Top
   
 Post subject:
PostPosted: Thu Apr 05, 2007 6:33 pm 
Offline
Site Founder
User avatar

Joined: Sun Aug 08, 2004 8:55 am
Posts: 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


Last edited by Guest on Fri Apr 06, 2007 9:06 am, edited 2 times in total.

Top
   
 Post subject:
PostPosted: Thu Apr 05, 2007 7:12 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Ленин

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


Top
   
 Post subject:
PostPosted: Thu Apr 05, 2007 7:54 pm 
Offline
Kernel Developer
User avatar

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

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


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 18 posts ]  Go to page 1 2 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited