Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.01.2012, 20:03   #71
Сtrl
C++
Форумчанин
 
Аватар для Сtrl
 
Регистрация: 27.03.2011
Сообщений: 803
По умолчанию

Еще важно отличать индентацию от выравнивания. Первая делается с помощью табуляции, второе - с помощью пробелов.
Ищете информацию по C++?
cplusplus.com
Сtrl вне форума Ответить с цитированием
Старый 03.01.2012, 20:04   #72
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
Смех

Я, за имением лишнего времени, написал о своём стиле и правилах форматирования кода.

Оцените =)

Чур тапками не кидаццо

[Поправил косяки]
Вложения
Тип файла: doc Документ о форматировании Pascal кода в DELPHI.doc (123.5 Кб, 44 просмотров)

Последний раз редактировалось Человек_Борща; 04.01.2012 в 00:37.
Человек_Борща вне форума Ответить с цитированием
Старый 04.01.2012, 01:48   #73
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Не сразу понял в чем там стандарты и правила кодирования.
Посмотрите для сравнения Стандарт кодирования Zend Framework (PHP)
MaTBeu вне форума Ответить с цитированием
Старый 05.01.2012, 09:09   #74
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Очевидно же, что причиной переписывания кода является крайняя его запутанность, а не нежелание разбираться в нем. Степень запутанности - один из оценочных факторов при принятии решения - рефакторить или переписывать.
Он не запутан, а вполне нормален . Люди вон примерно догадались про что писано. А с Вами все ясно - нет желания думать самостоятельно. Малейшее отклонение от стандарта и все разрыв шаблона. Да просто нет вообще желания хотя бы смотреть на приведенный аргумент. Все переписать , ага + гигабайты кода .
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 05.01.2012, 20:25   #75
Ponkole
Форумчанин
 
Регистрация: 02.07.2010
Сообщений: 167
По умолчанию

Слышал что то про программы (или дополнения), редактирующие программный код, подгоняющие его под определенные рамки и структурируя его. Предлагаю составить программы для редакции текста кода под свой стиль.
Если я тебе помог, помоги и ты мне +ом с комментарием
Ponkole вне форума Ответить с цитированием
Старый 05.01.2012, 21:02   #76
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Предлагаю составить программы для редакции текста кода под свой стиль.
Гы, 5 километров текста пофигу + еще несколько страниц намекающих на инструменты документирования тоже не в счет...
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 05.01.2012, 22:09   #77
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Цитата:
Гы, 5 километров текста пофигу + еще несколько страниц намекающих на инструменты документирования тоже не в счет...
я ещё в своём *.doc'е рассказал об тулзе для d7 и ниже, и об тулзах для d2006 и выше, которыми пользуюсь сам уже не помню сколько времени. Форматированный код спасёт мир.
Человек_Борща вне форума Ответить с цитированием
Старый 05.01.2012, 22:17   #78
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Форматированный код спасёт мир
Да другой бы называл бы меня троллем и еретиком, но я не на секунду не отступлю от своих принципов, но при этом сошлюсь на Матвея - ибо Дельфи не Питон, почему спроси у Аникса. Тяжело объяснить, но нравится, что ты ишещь, хоть и не всегда попадаешь в цель. Проблема в том, что ты из той категории, которой говорить бесполезно, остается ждать что наступишь на свои ошибки сам и все поймешь. Поттому советую читать о Питоне - так быстрей, но выбор как и всегда за тобой.

ЗЫ. Как бы не охота тебя разоочаровывать (как и других), но форматирование кода не спасет абсолютно ничего. Извини, но унылое го**о которое есть в книгах не прокатывает ибо:
а) зависит от команды - а стандарты Мелкософта ничто в мире (как и стандарты в других локальных командах)
б) устарело в момент выпуска книги - какое по счету издание? 5-е, 6-е? И не успеет в ногу со временем, как бы ты (извини, что на ты местами) не старался, как бы не старался автор ( хотя известно почему старается автор, угадай кстати, почему? Ведь он в курсе, что через год устареет)
в) как всегда нет собственного мышления, да трехтомные книги хороши как справочники, как источники, но есть одно, но - да почитатай сам. Они не учат мыслить самостоятельно, более того, там это вредно. После прочтения главы и ответов на вопросы в американских книгах у меня периодически возникают вопросы и внезапно на них нет ответа...
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 05.01.2012 в 22:40.
Utkin вне форума Ответить с цитированием
Старый 05.01.2012, 22:49   #79
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Я вот тоже решил написать.
_____________


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

Комментарии, само собой разумеется. В книге у Бьярна Страуструпа написано, что комментарии к коду писать ничуть не легче, чем писать сам код. Не знаю, насколько это - правда, мне просто не доводилось ни разу писать такие программы, которые писал он, да и уровень и у нас – небо и земля. При написании комментариев к коду, я предъявлял к ним требования: чтобы, во-первых, было понятно, к какому блоку (куску) кода они относятся, а, во-вторых, чтобы границы между блоками были обозначены чётче. Таким образом, я могу разделить комментарии на разделительные и поясняющие.

Разделительные комментарии. Служат для визуального разграничения блоков кода. Я только применял их для разделения меду собой подпрограмм или методов, хотя при написании дипломного проекта я делал более подробное деление:

Код:
implementation

uses BeforeTest, Main, StopTestConfirm, AfterTest;


{$R *.dfm}


var TimeIndicatorVisible, ICanExit: boolean;

//------------------------------------------------------------

Procedure AnalyzeAndRate;
// Эта процедура выполняет анализ полученных ответов
// и ставит оценку по выбранной шкале
var
    RightAnswersCount, j: byte;

begin
    код процедуры
end;


//========================================================

Procedure Tform2.ShowQuestion(const k: byte);
Здесь я использую символ тире для отделения того места, где описываются типы, объявляются глобальные переменные и т.д.
Знак равенства я использую для отделения подпрограмм друг от друга.

Внутри подпрограмм такого деления я не использую, а компоную отступы с поясняющими комментариями.
Прежде всего, я после заголовка подпрограммы пишу пояснение, для чего она нужна. Пример смотрите выше, например, процедура AnalyzeAndRate. Замечу, что чётких правил выбора между однострочными и многострочными комментариями у меня не сформировалось, посему у меня такой комментарий может быть каким угодного – одно- или многострочным.

Далее, когда я пишу сам функционал процедуры, поясняющими комментариями я пользуюсь, когда возникает необходимость пояснить, что делает тот или иной кусок кода. Здесь комментарий тоже может быть каким угодно, чёткого правила нет.
Комментарий следует писать так, чтобы он казался своеобразным «заголовком» комментируемого куска кода, то есть самый первый символ комментария находился левее всех символов комментируемого куска кода. Например:

Код:
// Нижеследующее будет выполняться, если выбран режим ввода своего ответа
        // с клавиатуры

            // Скрываем ненужные элементы
               LabelChoseYourVariant.Hide;

               RadioButton1.Hide;
               RadioButton2.Hide;
               RadioButton3.Hide;
               RadioButton4.Hide;
               RadioButton5.Hide;
               RadioButton6.Hide;

               CheckBox1.Hide;
               CheckBox2.Hide;
               CheckBox3.Hide;
               CheckBox4.Hide;
               CheckBox5.Hide;
               CheckBox6.Hide;

            // Показываем нужные элементы
                LabelTypeYourAnswer.Show;
                LabelTypeYourAnswer.Caption:=
                'Введите ответ с клавиатуры и нажмите кнопку ответить. ';
                If R.CaseSensitive then
                                    LabelTypeYourAnswer.Caption:=
                                    LabelTypeYourAnswer.Caption+ 'Регистр букв УЧИТЫВАЕТСЯ.'

                                  else
                                    LabelTypeYourAnswer.Caption:=
                                    LabelTypeYourAnswer.Caption+ 'Регистр букв НЕ УЧИТЫВАЕТСЯ.';

                EditYourAnswer.Clear;
                EditYourAnswer.Show;
В некоторых случаях поясняющий комментарий может располагаться не сверху, а справа, и как бы «лежать» на некоторой строчке. Например

Код:
if x > 0 
	then // Если переменная x больше нуля, вообще какой-то комментарий
	    begin
	    {здесь какой-то код}
	    {здесь какой-то код}
	    {здесь какой-то код}    
	    end;
Также такими комментариями я пользуюсь для того, чтобы описать поля какой-то записи:
Код:
type
	Student = record
			FullName: string; // ФИО студента
			Group: string; // Название группы, где он учится
			IsFined: // Флаг "отчисленности" студента, показывает, отчислен ли он
		  end;
Вложения
Тип файла: doc Рекомендуем оформление кода.doc (86.0 Кб, 10 просмотров)
Вадим Мошев вне форума Ответить с цитированием
Старый 05.01.2012, 22:50   #80
Ponkole
Форумчанин
 
Регистрация: 02.07.2010
Сообщений: 167
По умолчанию

Цитата:
Гы, 5 километров текста пофигу + еще несколько страниц намекающих на инструменты документирования тоже не в счет
Извиняюсь, только сейчас прочел труд Человека_Борща. Тоже пользуюсь СnPack дополнением, а вот о дополнении Formatter слышу впервые, даже не заметил его в ссылках, выданных поисковиком до написания этой темы.
Если я тебе помог, помоги и ты мне +ом с комментарием
Ponkole вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Правила написания кода на Delphi Virtson Общие вопросы Delphi 17 06.08.2010 08:59
Правила разделов/главные правила Alex Cones О форуме и сайтах клуба 1 30.09.2009 17:49
Оформления текста tae1980 Microsoft Office Excel 6 26.03.2009 18:54
Стили оформления кода Altera Свободное общение 2 30.08.2008 17:23
Проблема оформления SunKnight Общие вопросы Delphi 3 25.02.2008 01:11