Форум: "Прочее";
Текущий архив: 2009.04.05;
Скачать: [xml.tar.bz2];
ВнизОтступы в коде Найти похожие ветки
← →
Riply © (2009-01-31 03:20) [0]Здравствуйте !
Тут выяснилось, что я неправильно оформляю код. А именно:
(Боюсь форматирование "съедет", поэтому пробелы заменю точками)procedure OffsetDemo;
var
.pParam: PVOID;
begin
.pParam := nil;
.if Condition then
..begin
...BlaBlaProc(pParam);
...BalBlaProc2(pParam);
..end;
end;
Мне сказали, что так никуда не годится, надо отступать две позиции.
(Т.е. количество пробелов везде должно быть в два раза больше).
Пыталась переучиться. Очень тяжело.
Во-первых привычка набора.
Но самое плохое, что перестаю "видеть" код.
Может есть какие-то волшебные утилиты, которые могут переводить код
из моего написания в правильное (и обратно) ?
Или, скрипя зубы, надо переучиваться ?
← →
Джо © (2009-01-31 04:13) [1]http://www.aew.wur.nl/UK/Delforexp/
Использовала несколько раз, когда нужно было чужие исходники в читаемый вид привести. Реализован в виде эксперта для IDE + есть standalone-версия.
← →
Джо © (2009-01-31 04:14) [2]Вкрутил сегодня сдуру «энергосберегающие лампочки», глаза болят с непривычки %) Вот и в женском роде о себе уже пишу, цо то бедзе, цо то бедзе...
← →
Riply © (2009-01-31 04:19) [3]> [2] Джо © (31.01.09 04:14)
> Вкрутил сегодня сдуру «энергосберегающие лампочки», глаза болят с непривычки %)
> Вот и в женском роде о себе уже пишу, цо то бедзе, цо то бедзе...
Не выкручивайся :) Нам теперь доподлинно известна твоя сущность :)
> http://www.aew.wur.nl/UK/Delforexp/
> Использовала несколько раз, когда нужно было чужие исходники в читаемый вид привести.
Спасибо.
Т.е. мои исходники действительно в не "читаемом виде" ? :(
← →
Джо © (2009-01-31 04:36) [4]
> Спасибо.Т.е. мои исходники действительно в не "читаемом
> виде" ? :(
Не, у меня был гораздо худший случай (вообще без отступов) :)
Хотя, один пробел для меня тоже не очень привычно, но вполне терпимо, без ощутимого дискомфорта в восприятии. Сам пишу всегда по два.
← →
Servy © (2009-01-31 04:47) [5]> Пыталась переучиться. Очень тяжело.
> Во-первых привычка набора.
Мне так кажется, что сия традиция связана с тем, что отступы обычно делают с помощью табуляции (по крайней мере, я их делаю именно так и в Delphi, и в Visual Studio, просто по привычке). Среда Delphi нажатие на Tab по умолчанию воспринимает как два пробела, поэтому и отступ такой считается стандартным. Так что надо всего-лишь привыкнуть использовать эту волшебную клавишу :). Отступ в один пробел все же значительно лучше, чем отсутствие оного (немного непривычно, но вполне читаемо), так что "никуда не годится" это перебор.
А вот зачем дополнительный отступ перед begin для меня осталось загадкой. Форматируют обычно с тем, чтобы отделить инструкции, входящие в блок (begin..end) и не входящие в него. То есть, достаточно двух уровней отсупа. А третий уровень, для самого begin..end"а - излишество, в котором нет необходимости (за это еще философ Оккам бритвой грозил).
← →
KSergey © (2009-01-31 06:07) [6]1. Если работаешь сам по себе, то стиль форматирования кода - без разницы. Однако стоит обратить внимание удобно ли читать собственные тексты? Удобнее ли читать какие-либо другие (тот же VCL)? Если чужой код субьективно нагляден - есть смысл позаимствовать что-то. Но еще раз: сам с собой можешь делать что хошь, лишь бы компилятор переваривал, это единственное реальное ограничение.
2. Если работаешь в коллективе - большой смысл имеет придерживаться определенных стандартов. Все верещания "мне так удобнее! я так привык!" - бред, все эти привычки изменяются за месяц жесткого кодемайнтейнерства старшим товарищем. Ну т.е. к разумным людям в таком случае не требуется применение карательных мер. И через месяц ты уже радуешься как же хорошо все и читабельно (вне зависимости от того кто именно писал этот код).
PS
Вообще, если честно, меня всегда поражали верещеания "я так привык" в части оформления кода. На самом деле как ни оформляй - лишь бы единообразно. Мне не встречались правила оформления, которые бы ухудшали читаемость (такие правила, очевидно, просто не выживают в коммерчески-успешных предприятиях).
Пункт 2 выше я и вовсе писал по собственным впечатлениям от варианта, когда сам столкнулся с определенным код-стайлом. И понял одно: главное, чтобы этот код-стайл был четко прописан руководителем и обязательно принимался каждым, кто намерен работать на данном предприятии. Все эти "обсуждения", "а я привык вот так", "а мне так ваще неудобно" - чушь и бред. Проще заменить "слабое звено".
Впрочем, на заре "карьеры" приходилось (одновременно) править/дописывать исходники, созданые разными людьми, на протяжении нескольких лет, у каждого из них при этом было собственное "видение мира". Вполне спокойно подстраиваешься под стиль текущего исходника, чтобы не было зоопарка. За одно выносишь для себя что-то новое, удобно.
← →
KSergey © (2009-01-31 06:08) [7]> Riply © (31.01.09 03:20)
С одним отступом читать неудобно. 2 - читабельнее, да и для этого есть специальная кнопка - табуляция.
← →
{RASkov} © (2009-01-31 10:10) [8]> С одним отступом читать неудобно.
Эх... не верно сказано....
С одним отступом читать неудобно кому-то конкретно, но не всем.... - это раз.
С одним отступом - это вроде не по стандарту - это два.
А мне код из [0] как с одним, так и с двумя читать не удобно - это три :)
Мне вот так привычнее:procedure OffsetDemo;
var.pParam: PVOID;
begin
..pParam := nil;
..if Condition then.begin
...BlaBlaProc(pParam);
...BalBlaProc2(pParam);
..end;
end;
Я знаю, что это не по стандарту, но пожалуйста, не говорите мне, что это не удобно и главное неправильно :)
← →
{RASkov} © (2009-01-31 10:11) [9]не правильно - это когда компилятор ругается)
← →
KSergey © (2009-01-31 10:22) [10]> {RASkov} © (31.01.09 10:10) [8]
> С одним отступом - это вроде не по стандарту
На сколько я понимаю, есть стандарт на метр. Это да.
На оформление кода вот именно стандарта - нет. Вернее он один: если компилятор компилирует без ошибок - то по стандарту :)
Все прочее - соглашения и вкусовщина, не более. Равно как и моё "С одним отступом читать неудобно". Просто моё частное мнение :)
← →
TUser © (2009-01-31 10:34) [11]Категория истинности - производная. Например, правильно лить кислоту в воду, а не наоборот, так как иначе можно оббрызгаться кислотой. Правильно переходить улицу на зеленый, так как иначе попадешь под тачку. И т.д.
А в вопросе топика - от чего является производной категория правильности оформления кода?
Я лично делаю два отступа, раньше делал три. Один мне кажется мало заметным, но это субъетивизм и не более того.
← →
test © (2009-01-31 10:37) [12]KSergey © (31.01.09 06:07) [6]
Вот такой стандарт оформления к чему отнести?
if a > 2 then begin
x:= 3;
while x < 10 do begin
....
inc(x); end;
....
ShowMessage(stroka); end;
← →
Anatoly Podgoretsky © (2009-01-31 10:44) [13]> Riply (31.01.2009 3:20:00) [0]
В общем то, в большинстве сред принято 4 отступа, а два как минимальное зло.\
Код может быть отображен и не моноширинным шрифтом и один пробел в этом случае очень жестоко.
← →
Anatoly Podgoretsky © (2009-01-31 10:46) [14]> Servy (31.01.2009 4:47:05) [5]
Ну не надо по умолчанию, по умолчанию 8 позиций, стандартный шаг табуляции, можно изменить на два, а в более старых версиях приходилось ВСЕ позиции прописывать вручную - очень неприятно.
← →
Бурундук (2009-01-31 11:02) [15]> TUser © (31.01.09 10:34) [11]
> А в вопросе топика - от чего является производной
> категория правильности оформления кода?
Если два отступа для тебя непривычны, тебе будет тяжело читать код VCL.
Этой причины, ИМХО, достаточно.
← →
{RASkov} © (2009-01-31 11:03) [16]> Код может быть отображен и не моноширинным шрифтом и один
> пробел в этом случае очень жестоко.
Тут уже никакой речи не может быть о форматировании :) ...это "труба")
← →
{RASkov} © (2009-01-31 11:10) [17]> Если два отступа для тебя непривычны, тебе будет тяжело
> читать код VCL.
Да, действительно, тяжко.... Т.е. не тяжко, но немного труднее чем свой...
Но и VCL читать приходится в разы меньше, чем свой..... а про чужой код я вообще молчу :) ...лишь бы было какое-нибудь форматирование, тогда читать можно. :)
← →
Anatoly Podgoretsky © (2009-01-31 11:11) [18]> {RASkov} (31.01.2009 11:03:16) [16]
Неверно, код нормально форматируется, и два и четыре и так далее пробелов находятся на своих местах, но размеры их меньше. Код со стандартным шагом табуляции в 8 пробелов смотрится вообще хорошо, а вот с одним пробелом надо напрягать глаза.
← →
KSergey © (2009-01-31 11:31) [19]> Anatoly Podgoretsky © (31.01.09 11:11) [18]
> Код со стандартным шагом табуляции в 8 пробелов смотрится вообще хорошо, а вот с одним пробелом надо напрягать глаза.
Полностью поддерживаю, если что :)
К 8 пробелам дополнительно добавлю ограничение на ширину в 80 символов. Это кроме всего прочего заставляет задумыватся о глубине вложенности :)
← →
Anatoly Podgoretsky © (2009-01-31 11:36) [20]> KSergey (31.01.2009 11:31:19) [19]
Нафиг, я лучше буду думать о ширине монитора.
← →
@!!ex © (2009-01-31 11:40) [21]господа, а вы в курсе, что 90% Code Convention по дельфи не рекомендуют использование табуляции(а точнее строго запрещают)?
И что Ctrl+k i, Ctrl+k u не табуляцию делают! А два пробела. Соответственно если вы используете табуляцию, то получаете два разных типа разделителя.
← →
{RASkov} © (2009-01-31 11:48) [22]> [18] Anatoly Podgoretsky © (31.01.09 11:11)
> Неверно, код нормально форматируется, и два и четыре и так
> далее пробелов находятся на своих местах
и всеж не моноширные фрифты в коде - это минус. А если еще и использвать шрифты, какие-нибудь типа: OdessaScript - то точно "труба" :)
← →
{RASkov} © (2009-01-31 11:49) [23]> [21] @!!ex © (31.01.09 11:40)
> И что Ctrl+k i, Ctrl+k u не табуляцию делают! А два пробела.
А у меня они делают по одному пробелу :)
← →
{RASkov} © (2009-01-31 11:49) [24]> фрифты
:) шрифты)
← →
Sergey Masloff (2009-01-31 12:07) [25]Anatoly Podgoretsky © (31.01.09 11:11) [18]
>Код со стандартным шагом табуляции в 8 пробелов смотрится вообще >хорошо, а вот с одним пробелом надо напрягать глаза.
Угловое перемещение при чтении большое, глаза будут уставать. Монитор большой не спасет (ну если 60 дюймов и смотреть метров с трех... а оно надо?)
← →
SPeller © (2009-01-31 12:22) [26]Меня на первом месте работы строго били по шапке за неправильное форматирование, поскольку были строгие правила и все были обязаны их соблюдать, поскольку не только несколько разработчиков, но еще и аутсорс. Очень этому благодарен и с тех пор автоматом пишу код "как надо" без напрягов. Хотя по-началу было непривычно. Поэтому автору советую прислушаться и заставить себя переучиться правильно форматировать код.
← →
Anatoly Podgoretsky © (2009-01-31 12:26) [27]> Sergey Masloff (31.01.2009 12:07:25) [25]
Это при моноширинном шрифте.
← →
palva © (2009-01-31 12:43) [28]
> Нафиг, я лучше буду думать о ширине монитора.
Я всегда о ней думаю, когда фотографии смотрю.
← →
DVM © (2009-01-31 12:45) [29]
> Riply © (31.01.09 03:20)
> Мне сказали, что так никуда не годится, надо отступать две
> позиции.
И правильно сказали. Вообще код надо форматировать как в VCL. И точка. Почему бы всем не соблюдать это правило, для исключения разночтений. Один пробел - слишком малозаметный отступ при больших лесенках трудно понять где парная открывающей скобке закрывающая, при большем чем 2 пробелах - слишком код вправо уползает.
← →
Anatoly Podgoretsky © (2009-01-31 12:47) [30]> palva (31.01.2009 12:43:28) [28]
Моя мечта - хотя бы один монитор М9
← →
Anatoly Podgoretsky © (2009-01-31 12:54) [31]> DVM (31.01.2009 12:45:29) [29]
> Один пробел - слишком малозаметный отступ при больших лесенках трудно понять где парная открывающей скобке закрывающая,
А тут задача для ИДЕ, или плавающий пробел или подсветка парности.
← →
Riply © (2009-01-31 13:04) [32]Во как. Мало того, что таких как я одноотступников не нашлось,
так даже два пробела, оказывается, "минимальное зло" :)
Придется переучиваться :(
← →
Anatoly Podgoretsky © (2009-01-31 13:10) [33]> Riply (31.01.2009 13:04:32) [32]
Ответь для себя - для чего тебе нужные отступы, а после сможешь ответить какие
← →
@!!ex © (2009-01-31 13:14) [34]> [32] Riply © (31.01.09 13:04)
Я раньше один использовал... Это было самообучение.
Потому по ковенциям начал работать. ощутил что это удобнее. теперь два пробела для Паскаля, скриптов и шейдеров, и так для С++.
> [23] {RASkov} © (31.01.09 11:49)
Сути не меняет, все равно не таб. :)
← →
Тын-Дын © (2009-01-31 13:59) [35]
> Riply © (31.01.09 13:04) [32]
> Во как. Мало того, что таких как я одноотступников не нашлось,
>
> так даже два пробела, оказывается, "минимальное зло" :)
> Придется переучиваться :(
Это не минимальное зло. Это максимум для удобства.
Большее количество пробелов в отступах влечёт увеличение правой границы кода, что не очень удобно. Один пробел - слишком малое обозначение границ блоков кода - разные блоки плохо отличаются и приходится напрягаться, чтобы их визуально выделить.
Отступы больше 4-8 символов - другая крайность. Приходится напрягать глаза, чтобы отследить те же самые блоки кода.
← →
Eraser © (2009-01-31 14:14) [36]> [32] Riply © (31.01.09 13:04)
примером правильного оформления исходного кода на делфи вполне можно считать стиль VCL.
но мне нравится вот такая его более строгая интерпритация http://www.delphikingdom.com/asp/viewitem.asp?catalogid=802 стиль JCL тоже не плох.
← →
Тын-Дын © (2009-01-31 14:49) [37]
> но мне нравится вот такая его более строгая интерпритация
> http://www.delphikingdom.com/asp/viewitem.asp?catalogid=802
Я именно так и форматирую, однако не стал бы говорить о стандартах, так как их не существует.
← →
KSergey © (2009-01-31 15:26) [38]> @!!ex © (31.01.09 11:40) [21]
> не рекомендуют использование табуляции(а точнее строго запрещают)?
А в курсе, что символ табуляции и кнопка табуляции вещи ваще не связанные?
← →
@!!ex © (2009-01-31 15:30) [39]> [38] KSergey © (31.01.09 15:26)
ну да. Как будто кто-то настраивает поведение таба. :))
← →
Anatoly Podgoretsky © (2009-01-31 16:48) [40]И вообще, те кто не делает отступов, те снижают энтропию, а самые продвинутые и NumLock не включают.
Страницы: 1 2 вся ветка
Форум: "Прочее";
Текущий архив: 2009.04.05;
Скачать: [xml.tar.bz2];
Память: 0.56 MB
Время: 0.006 c