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 строк, не думать о действиях, думать о строках.

★★★★★

я бы сказал, что стоит писать символов по 150 в строке.

Зачем ты разбил строку, в которой только 104 символа?

anonymous ()

Я 100 символов использую

false ★★★★★ ()

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

при чём тут 17" мониторы, это же со времён телетайпов и текстовых консолей

Harald ★★★★★ ()

$self->named_function->{named_key_from_function_result}->format($first_named_param, $second_named_param)

Лично мне как-то не хватает

А нормально кодировать - не вариант?

tailgunner ★★★★★ ()
Последнее исправление: tailgunner (всего исправлений: 1)

Мы на работе приняли в кодестайле 120.

panter_dsd ★★★★ ()

Оно-то, конечно, да.
Но лично я как представлю перловую простыню шириной в 150 символов, так рука сама тянется к кобуре.

thesis ★★★★★ ()

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

Нужно либо делить. Либо так дизайнить код и выбирать имена ф-ий/переменных, чтобы не было придурочных длинных названий вроде 'named_key_from_function_result'

mashina ★★★★★ ()

Когда в строке мало символов, удобнее смотреть всякие диффы, выводы компилятора и вообще видеть больше одного исходника на экран.

А если строки длинные, то это скорее недостаток языка.

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

Но если это перл, то, наверное, всё равно. Код и так будет выглядеть как нечитабельное гогно.

mashina ★★★★★ ()

Пиши, кто тебе не даёт

find ~/soft/perl/ -iname '*.pl' -exec wc -L '{}' \; | awk '{ print $1 }' | sort -g | tail -n 5
155
168
168
171
223
redgremlin ★★★★★ ()

Всех, кто соблюдает 80 символов, на том свете будет ждать добрая и верная няша-стесняша, двухэтажный домик у озера с бесконечным электричеством, горячей водой и канализацией, убер-ЭВМ с неломающимся линаксом без системд и личный космический корабль.

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

чтобы не было придурочных длинных названий

То ли дело - t_record, n_record, w_record, s_record и q_record! Сразу понятно, о чём идёт речь, чем они друг от друга отличаются и к скольким классам принадлежат!

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

Ну на 17" мониторе какое разрешение нормальное было? 1280? Ну и сколько туда символов нормальной ширины поместится?

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

А нормально кодировать - не вариант?

Как? Создавать лапшу из десятков переменных, каждая из которых будет использована ровно по два раза вместе с инициализацией?

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

То ли дело - t_record, n_record, w_record, s_record и q_record! Сразу понятно, о чём идёт речь, чем они друг от друга отличаются и к скольким классам принадлежат!

Если у тебя проблемы с фантазией (т.е. её только хватает на _record) и головой (~не можешь уловить суть объекта и выразить её небольшой строчкой), то да, тут уже ничем помочь нельзя.

mashina ★★★★★ ()

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

И тем не менее. Бывает нужно открыть 2-3 файла и сравнить. Если уместить их на один монитор, то выглядит удобней.

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

А нормально кодировать - не вариант?

Как?

Для начала - не пытаться впихнуть в одну строку слишком много кода. Это просто неудобно читать, даже если сделать ширину строки 150 символов.

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

Что плохого в иммутабельной переменной, которая используется 2 раза? А если их у тебя будут десятки - попробуй писать функции поменьше.

tailgunner ★★★★★ ()

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

Например у меня есть 24 дюймовый монитор. Мне часто удобно открыть две консоли с ssh сессиями на левой и правой половине экрана. При длинных строках все это уже не очень круто смотрится. Так что такие ограничения актуальны всегда.

Dudraug ★★★★★ ()

Очень правильный стандарт. Не следует пытаться впихнуть в одну строчку максимум возможного, это только ухудшает читабельность кода. Если выражение в минимальном виде не лезет в определенные границы, то его часть следует просто переносить на другую строку.
Многие думают, что раз у нас сейчас широкоформатные мониторы, значит можно писать очень длинные строчки, но от такого образа мышления получается говнокод. Использовать этот код человеку с другим рабочим окружением будет сложно, т.к. у него может быть другой монитор, редактор, или вообще IDE с несколькими информационными панелями и несколькими редакторами одновременно.
Как резюме: пишешь код только для себя - делай как больше нравится, в противном случае лучше сделать некоторое разумное ограничение в 80-100 колонок.

m0rph ★★★★★ ()

а у меня как-то это само получается. редко когда 1, 2 символа выскакивают за границы.

anonymous ()

Нужно. Стараюсь держать меньше 70, но 80 для меня предел. Настроил вим, чтобы ругался при превышении. Почему это хорошо уже сказали.

zinfandel ★★ ()
72 characters width template ----------------------------------------->|

Это то, что использую я.

beastie ★★★★★ ()

Недавно задавался вопросом.

В среднем вкладываюсь в соточку.

fraxinum ()

Вроде эпоха 17" мониторов давно кончилась, и только стало удобно открывать два исходника рядом, как стали появляться мудаки, которым мало 80 символов..

anonymous ()

предпочитаю кодить так, чтобы на мониторе по горизонтали помещалось два емакса, с моими настройками 200-250 символов, в зависимости от монитора

lazyklimm ★★★★★ ()

Вполне устраивает. Заставляет разбивать длинные конструкции на более простые.

fish_ka ()

как ни странно - правильный стандарт. Хоть и вызван исключительно технологическими ограничениями в своё время, он попал в эргономичную середину.

$self->named_function->{named_key_from_function_result}->format($first_named_param, $second_named_param)

это фигня - на ЛОРе встречаются опусы из java - так там _один_ идентификатор примерно той-же длины.

MKuznetsov ★★★★★ ()

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

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

а про сравнения, освойте диф или на худой конец купите второй монитор, они сейчас стоят 10 копеек за кг.

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

Нечитаемая лапша получается. То одно действие на одной, максимум двух строках, а то одно действие на пяти строках. И таких пятистрок - десяток-два. Сам потом смотришь и не понимаешь, что написано.

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

зачем два а не один с двумя окнами?

По теме, 17" монитора нет, но есть 13" ноутбуки, иногда тоже хочется открыть два окна по горизонтали, влазит чуть больше 80ти символов. Если строки ненамного длиннее, то и не парюсь.

Часто приходится работать там, где люди привыкли к так называемым IDE, где дается для кода небольшое по высоте окно, но почти на всю ширину. Они, обычно, о таких правилах, типа 80 символов не задумываются. Хотя, по-моему в netbeans на 80м столбце по дефолту стоит стрёмная красная линия. Отношусь, впрочем, спокойно.

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

освойте диф

иногда нужно просто параллельно кодить в двух местах

купите второй монитор

а на него можно впендюрить ещё пару окошек ^_^

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

зачем два а не один с двумя окнами?

да без разницы, в смысле два фрейма рядом

lazyklimm ★★★★★ ()

80 для динозавров.

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

Например у меня есть 24 дюймовый монитор. Мне часто удобно открыть две консоли с ssh сессиями на левой и правой половине экрана

Я сильно удивлюсь, если в каждой половине будет меньше сотни символов помещаться.

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

впихнуть в одну строку слишком много кода

  my $mail = new Mail::POP3Client (USER => $mail_user, PASSWORD => $mail_password, HOST => $mail_host, TIMEOUT => $mail_timeout) or say $!;

Это много кода? Нет, можно, конечно

  my $mail = new Mail::POP3Client
             (USER => $mail_user, PASSWORD => $mail_password, HOST => $mail_host,
             TIMEOUT => $mail_timeout) or say $!;
но зачем, если на экране 130 букв влазит?

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

Первый вариант в мой браузер уже не влез и вообще выглядит как УГ, второй вариант поприятнее, если не обращать внимание, что это perl.

PolarFox ★★★★★ ()

Вроде эпоха 17" мониторов давно кончилась, и я бы сказал, что стоит писать символов по 150 в строке.

А ты попробуй открыть еще всякие панели в IDE по бокам. Или открыть diff двух ревизий в системе контроля версий рядом.

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

зачем, если на экране 130 букв влазит?

Зачем же, зачем и в обычных бумажных книгах - читать слишком длинные строки неудобно (и 130 букв - это слишком длинная строка).

P.S. кстати, у меня на экран влазит 230 букв. Как ты относишься к строкам такой длины? %)

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