LINUX.ORG.RU

80 символов?


0

1

А что думают благородные доны про Великий и Вечный Стандарт Кодирования в 80 символов на строку?
Лично мне как-то не хватает. По крайней мере в перле. Приходится всякие вещи вроде $self->named_function->{named_key_from_function_result}->format($first_named_param, $second_named_param) либо разбивать на три строки, либо как в каменном веке именовать функции вместо get_all_operator_settings как g_all_os. Бесит и первое, и второе.
Вроде эпоха 17" мониторов давно кончилась, и я бы сказал, что стоит писать символов по 150 в строке.

Понял. Вопрос религиозный. Религия велит использовать 80 символов, делать в блоке не более 30 строк, не думать о действиях, думать о строках.

★★★★★

Последнее исправление: Xellos (всего исправлений: 1)
Ответ на: комментарий от ziemin

Может, с точки зрения всяких сдвиговых регистров, это «круглое» число. А может это от фазы луны зависело. ХЗ, в общем.

просто 32 мало, а 64 много. А вот 40 в самый раз. Ну а 80 это просто двойное 40.

emulek
()
Ответ на: комментарий от golodranez

temperature_value - вот имя переменной

это диагноз. Я его тебе в коммент впишу, чтоб знать.

emulek
()
Ответ на: комментарий от golodranez

Си головного мозга. Сам такой, но в перле так делать нельзя.

не льсти себе. Это пхп. Ну или бэйсик, если ты старый(мудак).

emulek
()
Ответ на: комментарий от golodranez

if (write_multiple_registers( starting_address, quantity_of_registers, registers_value, quantity_of_registers * 2) < 0)вот вызов функции Modbus, и он будет понятен любому кодеру. Как его сократить, не утратив ясности?

int r = write_multiple_registers(
    starting_address,
    quantity_of_registers,
    registers_value,
    quantity_of_registers * 2
)
if(r < 0)

и да, если ты пишешь такие имена, значит они у тебя ГЛОБАЛЬНЫЕ, а значит ты — говнокодер.

emulek
()
Ответ на: комментарий от d_Artagnan

Кто-то может постоянно не влазить и в 150 или 200 символов на строку. Понятно, что сверху ограничивать этот предел надо. Вопрос не в этом, а в том почему именно число 80? То, что оно довольно небольшое для современных мониторов это очевидно. Нужны аргументы за или против этого стандарта.

guest_star
()
Ответ на: комментарий от golodranez

Потому что все твои варианты нечитаемы. Почему _value?

Твой вариант тоже нечитабельный. temperature_value в каких градусах? Нипанятна. Нужно уж тогда писать так

temperature_value_in_kelvins

И так на смом деле тоже не понятно. А чего эти градусы в кельвинах? Апгрейдим

temperature_value_in_kelvins_of_that_shit
Всё равно ещё остаются вопросы глядя на такое имя переменной. А в какой момент времени взято значение?
temperature_value_in_kelvins_of_that_shit_at_t0
Вот так нужно было писать, совсем читабельное название переменной.

mashina ★★★★★
()
Ответ на: комментарий от mashina

Вот так нужно было писать, совсем читабельное название переменной.

хорошо, что я в игноре у данного фигуранта...

emulek
()
Ответ на: комментарий от guest_star

а в том почему именно число 80?

потому что когда-то давным-давно был выбор: какое число символов выбрать? 80 было безумно много. Даже 64 было много. Однако 32 было мало. Остановились на сорока. Ибо 42 не круглое и не очень удобное. Ну а 80 это двойное 40. Больше 80 нет смысла, ибо 95% людей больше 80 просто не воспринимают.

emulek
()
Ответ на: комментарий от emulek

хорошо, что я в игноре у данного фигуранта...

нет, не в игноре. Тови шизофренические бредни всё ещё засоряют мне лор, можешь радоваться.

mashina ★★★★★
()
Ответ на: комментарий от mashina

нет, не в игноре.

да? Ну тогда уважаю. Ты не девочка, однозначно.

Тови шизофренические бредни всё ещё засоряют мне лор, можешь радоваться.

радуюсь.

А можно ближе к теме: ты против таких имён типа temperature_value? Да, или нет? И почему?

А то понимаешь в чём проблема... Дело в том, что в соседней палате держат шизофреников, и вот как раз именно они также как ты изъясняются, типа «тег сарказм по дефолту». И их очень сложно понять. В том смысле, что понять саму речь можно, но вот когда они шутят не отличить от того, когда они откровенно тупят.

Так вот ты шутил или просто тупой?

emulek
()

А что думают благородные доны про Великий и Вечный Стандарт Кодирования в 80 символов на строку?

Как правильно нищеброду держать блюдце для подаяний? Как правильно БОМЖу бутылки собирать? Как лучше таскать мешки с цементом — на спине или на плече? Вопрос про то как правильно кодировать — из той же серии.

crowbar
()
Ответ на: комментарий от golodranez

(write_multiple_registers( starting_address, quantity_of_registers, registers_value, quantity_of_registers * 2)

Наше Всё как раз по этому поводу: " Unlike Modula-2 and Pascal programmers, C programmers do not use cute names like ThisVariableIsATemporaryCounter. A C programmer would call that variable «tmp», which is much easier to write, and not the least more difficult to understand".

Так палятся дельфисты %)

tailgunner ★★★★★
()
Ответ на: комментарий от guest_star

Нужны аргументы за или против этого стандарта

Аргументы «за» не нужны. ТАК ВЕЛЕЛИ БОГИ. Там ещё такие интересные вычисления, мол «в книге 66 символов в строке, а 40 это почти 66, а 80 это два раза по 40». А ещё ... а ещё в Таро 78 арканов, вот! Вот оно главное обоснование!

Xellos ★★★★★
() автор топика
Ответ на: комментарий от tailgunner

Н.В. молодец, привёл искусственный пример и тут же его опровергнул. Вот на кого должен равняться каждый лоровец!

Xellos ★★★★★
() автор топика
Ответ на: комментарий от crowbar

Как правильно нищеброду держать блюдце для подаяний? Как правильно БОМЖу бутылки собирать? Как лучше таскать мешки с цементом — на спине или на плече? Вопрос про то как правильно кодировать — из той же серии.

а что ты хотел сказать этим комментом? Что ты не программист, и у тебя нет и не может быть мнения по этому поводу?

emulek
()
Ответ на: комментарий от tailgunner

ThisVariableIsATemporaryCounter vs tmp - искусственный пример. Это раз.
Два - переменная tmp это зло. Она либо не нужна, либо должна называться иначе. Но если у вас в коде все переменные называются tmp, i, f, k, x, y, tt, и вы это называете читабельным кодом...

Xellos ★★★★★
() автор топика
Ответ на: комментарий от tailgunner

Unlike Modula-2 and Pascal programmers, C programmers do not use cute names like ThisVariableIsATemporaryCounter. A C programmer would call that variable «tmp», which is much easier to write, and not the least more difficult to understand

Так палятся дельфисты %)

интересно, а какой сакральный смысл называть переменную tmp как ThisVariableIsATemporaryCounter? Ты расскажи мне пожалуйста, а то я что-то не врубаюсь...

emulek
()
Ответ на: комментарий от Xellos

Аргументы «за» не нужны. ТАК ВЕЛЕЛИ БОГИ. Там ещё такие интересные вычисления, мол «в книге 66 символов в строке, а 40 это почти 66, а 80 это два раза по 40». А ещё ... а ещё в Таро 78 арканов, вот! Вот оно главное обоснование!

ты какой-то странный. А вот почему в сутках 24 часа, а не 17? Подумай об этом. Hint: боги тут не при чём.

emulek
()
Ответ на: комментарий от emulek

У меня-то мнение как раз есть. Количество символов на строку и средняя длина переменной ортогональны навыкам программирования.

А еще некоторые т-щи тут видно не знают о существовании такого явления как «сторонняя библиотека».

crowbar
()
Ответ на: комментарий от Xellos

Но если у вас в коде все переменные называются tmp, i, f, k, x, y, tt, и вы это называете читабельным кодом...

ну вот такой код:

int j
for(j = 0; j < 17; j++)
{
    // чё-то
}
как в этом коде правильно и по феншую назвать j?

emulek
()
Ответ на: комментарий от Xellos

ThisVariableIsATemporaryCounter vs tmp - искусственный пример.

Претензии к Линусу.

Два - переменная tmp это зло

Переменная tmp - это добро; назначение переменной (если оно какое-то нетривиальное) нужно описывать в комментарии, а не таскать в имени; в любой более-менее объемной программе вырабатывается некий набор сокращений, которыми нужно пользоваться. Вкупе с правилом «функция должна влезать на один экран» это дает компактный и понятный код.

tailgunner ★★★★★
()
Ответ на: комментарий от emulek

потому что когда-то давным-давно был выбор: какое число символов выбрать? 80 было безумно много. Даже 64 было много. Однако 32 было мало. Остановились на сорока. Ибо 42 не круглое и не очень удобное. Ну а 80 это двойное 40. Больше 80 нет смысла, ибо 95% людей больше 80 просто не воспринимают.

Ну была же выше ссылка - всем лень читать? Или ты про пишущие машинки?

закат эры пишущих машинок - 72 CPL -> перфокарты для фортрана 80-символьные, но последние 8 символов «служебные», т.е. те-же 72 символа для самого кода. Следом уже печать с теми-же 80 символами (чтобы видеть содержимое перфокарт полностью). Потом уже мониторы (не все).

yyk ★★★★★
()
Ответ на: комментарий от crowbar

У меня-то мнение как раз есть. Количество символов на строку и средняя длина переменной ортогональны навыкам программирования.

видимо у тебя опыта мало. А вот если-бы у тебя опыта было побольше, тогда ты бы в своих проектах не создавал-бы слишком длинных строк.

Причём опыт нужен не написания, а поддержки проекта.

А еще некоторые т-щи тут видно не знают о существовании такого явления как «сторонняя библиотека».

а вот внешние имена — совсем другая история. Вы точно про них? Да? Ну тогда сразу-бы сказали...

emulek
()
Ответ на: комментарий от tailgunner

назначение переменной (если оно какое-то нетривиальное) нужно описывать в комментарии, а не таскать в имени;

а это — плюсую. Согласен.

Вкупе с правилом «функция должна влезать на один экран» это дает компактный и понятный код.

а если я на нетбуке код пишу? А ведь пишу иногда... Мне что, убиться теперь?

emulek
()
Ответ на: комментарий от tailgunner

Переменная tmp - это добро; назначение переменной нужно описывать в комментарии

Вопрос закрыт.

Xellos ★★★★★
() автор топика
Ответ на: комментарий от yyk

Ну была же выше ссылка - всем лень читать?

зачем мне читать о том, что я видел своими глазами?

Или ты про пишущие машинки?

нет, про компьютеры.

перфокарты для фортрана 80-символьные

нет, про мониторы. Чёрно-белые и чёрно-зелёные.

Следом уже печать с теми-же 80 символами (чтобы видеть содержимое перфокарт полностью). Потом уже мониторы (не все).

именно, что не все. Были те что попроще с 40 символами, и гламурные с 80ю. А вот всяких CGA у меня тогда не было. Это уже сверх-гламур. Как сейчас CPU на 10GHz. Т.е. может они и есть, но не в моих руках.

emulek
()
Ответ на: комментарий от crowbar

и что? Это интерфейс, при чём тут программа и переменные вообще? К тому-же заметь, что автор перекидывает строчки так, что-бы они не были сильно длинными. Так все делают, у кого достаточно опыта.

Потому, строчки >80 букв — отличный детектор школоты. Либо это какой-то навороченный интерфейс(как по твоей ссылке), либо это какой-то любитель борща упражнялся.

emulek
()
Ответ на: комментарий от tailgunner

Причем с фигурным цитированием. Молодец, чо.

привыкай, этот фигурант всегда так сливает.

emulek
()
Ответ на: комментарий от emulek

именно, что не все.

В свете «стандарта на кодирование в 80 CPL» нищебродские мониторы не могли оказать ни малейшего влияния, ибо к тому времени туева хуча кода уже была на 80-символьных перфокартах или в 80-символьных распечатках.

Да-да-да, в то дремучее время все программисты были бородатыми дядьками, терминалов всем не хватало, а особо злостные олдфаги презирали их вместе с отладочной печатью: код должен был сначала отлаживаться на бумаге с ручкой, и только потом набиваться на перфокартах. Набивать код на мониторах - удел сопливых неосиляторов! )

yyk ★★★★★
()
Ответ на: комментарий от emulek

К тому-же заметь, что автор перекидывает строчки так, что-бы они не были сильно длинными.

Семантически и синтаксически ничего не меняется.

Потому, строчки >80 букв

Число 80 откуда взялось?

crowbar
()
Ответ на: комментарий от yyk

В свете «стандарта на кодирование в 80 CPL» нищебродские мониторы не могли оказать ни малейшего влияния, ибо к тому времени туева хуча кода уже была на 80-символьных перфокартах или в 80-символьных распечатках.

детка, текст ЧИТАЛИ вовсе не на перфокартах. Да и распечатки тоже неудобно было читать (править-то нет смысла распечатку). Кстати, сами по себе распечатки были отнюдь не 80 символов, а намного больше. А вот в выборе монитора была проблема, в те годы персоналок не было. Понимаешь? Тупо НЕ БЫЛО. Какой дадут монитор, за таким и работаешь. Т.ч. про «нищебродов» ты мимо кассы ввернул. Это сегодня я пошлю на|| того, кто мне предложит поработать на недостаточно широком мониторе, а в те годы — увы, работал и не жужжал.

Да-да-да, в то дремучее время все программисты были бородатыми дядьками, терминалов всем не хватало, а особо злостные олдфаги презирали их вместе с отладочной печатью: код должен был сначала отлаживаться на бумаге с ручкой, и только потом набиваться на перфокартах. Набивать код на мониторах - удел сопливых неосиляторов! )

ну всё совсем не так было. Как раз принтер был один на 20 терминалов, как и всякая хрень для чтения перфокарт. Т.ч. если дядька недостаточно бородат, то ему как раз перфокарт/принтера не хватало, и приходилось ждать своей очереди. А вот терминалы всегда были свободные.

В любом случае, программа с терминала работала, а не с перфокарт. Перфокарты только для сохранения кода между сеансами были нужны. Что-бы одно и то же 10 раз не вбивать. Типа как сейчас DVCS.

emulek
()
Ответ на: комментарий от emulek

А можно ближе к теме: ты против таких имён типа temperature_value? Да, или нет? И почему?

уж осиль как-нибудь пролистать тред.

mashina ★★★★★
()
Ответ на: комментарий от crowbar

К тому-же заметь, что автор перекидывает строчки так, что-бы они не были сильно длинными.

Семантически и синтаксически ничего не меняется.

стилистически меняется.

Потому, строчки >80 букв

Число 80 откуда взялось?

для тех кто в танке: 80 это двойное 40. А 40 это от балды. Потому что 32 это уже слишком мало для строк, а 64 слишком много(на тот момент), вот и выбрали 40. Потом осилили 40+40.

А потом появились нормальные иксы и прочая графика. И этот вопрос уже никого не волнует.

А программирование тут при том, что в коде нет переносов. Код не переносится, в отличие от простого текста. Потому код шириной Over9000 букв ты так и будешь читать, а вот другой текст у тебя перенесётся. Сам гляди

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        теперь понял, как это неудобно?

emulek
()
Ответ на: комментарий от emulek

Код не переносится, в отличие от простого текста

В нормальных IDE есть автоформат.

стилистически меняется.

Стиль — ерунда. Говнокод прежде всего в семантике. Длинные строки коррелируют с говнокодом, да. Но они не критерий говнокода.

crowbar
()
Ответ на: комментарий от crowbar

В нормальных IDE есть автоформат.

в коде — нет. А в быдлоиде для быдлодизайнеров — я без понятия. Может и есть, тебе виднее.

Стиль — ерунда. Говнокод прежде всего в семантике. Длинные строки коррелируют с говнокодом, да. Но они не критерий говнокода.

они не критерий, а годный детектор. Ибо 146% говнокодеров не только говнокод пишут, но ещё и пишут его длинными строчками. Почему они так делают? Хрен его знает. Я так по неопытности делал.

Ну а «80» — просто число. Не нужно в нём искать сакральный смысл. Просто не нужно.

emulek
()
Ответ на: комментарий от golodranez

сменив нотацию названий (-8) или сократив очевидный орфографичечкий оверхед: registers => regs (-24)
//Ваш капитан MC Connell.

d_Artagnan ★★
()
Ответ на: комментарий от redgremlin

в аду есть отдельный, особо жаркий, котёл.

Сам-то на рай рассчитываешь, за все земные страдания, любитель перловых портяночек с длинными строками?

d_a ★★★★★
()
Ответ на: комментарий от d_a

Тебе, гляжу, припекать ещё при жизни начало :) Ничего¸ зато будешь готов заранее.

redgremlin ★★★★★
()
Ответ на: комментарий от emulek

детка, текст ЧИТАЛИ вовсе не на перфокартах

старый маразматик с высохшими мозгами, читали с перфокарт только так (понятно, что сопливым тупицам это было не под силу), некоторые даже без спец. приспособ из этих самых перфокарт. Благо позже некоторые перфораторы стали сразу сверху печатать то, что они выбили.

Какой дадут монитор, за таким и работаешь.

Ссука 3.14здливая, не у всех ЭВМ были терминалы, а «множество терминалов» было вообще редкостью.

Кстати, сами по себе распечатки были отнюдь не 80 символов, а намного больше.

Как бы тоже разные были «принтеры»

Как раз принтер был один на 20 терминалов, как и всякая хрень для чтения перфокарт. Т.ч. если дядька недостаточно бородат, то ему как раз перфокарт/принтера не хватало, и приходилось ждать своей очереди. А вот терминалы всегда были свободные.

Пля, какие терминалы у первых ЕС-ок и IBM-ок? С принтером проще: в пакетном режиме их много и не надо. И «считыватель перфокарт» и один всех обслужит, благо читает из колоды. Перфораторы вообще не имели отношения к самой ЭВМ - ставь хоть 20 штук за километр и набивай всё, что надо.

В любом случае, программа с терминала работала, а не с перфокарт.

Ты точно укурок. Забыл управляющую консоль с кучей тумблеров и светодиодов? Иди, школота вонючая, домашку делай. Или попей чего для восстановления памяти, а то, похоже, пить, курить и говорить ты начал одновременно, а вот думать можешь до сих пор только со скрипом...

yyk ★★★★★
()
Ответ на: комментарий от crowbar

Догма, да знаю.

ну считай «догмой», если тебе так проще...

emulek
()

Вроде эпоха 17" мониторов давно кончилась

Зато пришла эпоха кодинга на телефонах.

MiniRoboDancer ★☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.