Пара слов про стандарты на кодирование
В топике у
Ха. Уже второй раз я это открываю, хмыкаю и закрываю. Не вдаваясь в подробности, всего два пункта.
Первым делом, «Длина строки не должна превышать 80 (78) символов».
Привет, перфокарты! Рад, что самый современный, самый крутой, и самый-самый язык программирования в двадцать первом веке сохраняет вам верность.
Вторым, идёт замечательное требование, отражающее всю мошь, всю суть, и всю экзестенциальность поклонников Хаскеля: «Табуляция запрещена. Разрешены только пробелы».
Ну что ж. Признаю своё полнейшее ничтожество. Ни в распечатке, ни при взгляде на экран четыре или восемь белых полей табуляции я не отличу от четырёх или восьми белых пробелов. А хаскелисты МОГУТ! Не ощупывают же они каждый раз код вслепую, чтобы убедиться, что он соответствует стандарту.
(То, что это правило просто кричит о нестабильности по отношению к форматированию, можно оставить за скобками.)
Кстати, метрика на стабильность: Вы оставили код в рабочем окне. Пришёл ребёнок и понажимал на кнопочки. Вам нужно восстановить первоначальное состояние. Время пошло. (Ребёнок взят вместо коллеги, потому что он вносит ошибки случайные, а идиоты, особенно с глубоким знанием предмета, могут быть очень изобретательными, и тут уже идёт борьба не с языком, а с чужим интеллектом. Хотя, конечно, метрика отражает стабильность во втором случае.)
no subject
Date: 2013-09-16 12:46 pm (UTC)А в хаскеле отступы являются элементом синтаксиса и мешать табы и пробелы там ни в коем случае нельзя.
И нормальные редакторы показывают отличия между табами и пробелами.
no subject
Date: 2013-09-16 12:51 pm (UTC)Различные тулы автоформатирования и автоподстановки вставляют табы и пробелы по-разному. Если одно нажатие на кнопку разрушает структуру программы, то исходный код не стабилен.
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:Бабах кровь кишки
From:Re: Бабах кровь кишки
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2013-09-16 02:22 pm (UTC)А за форматирование отступов пробелами надо отсылать на курсы младших секретарш.
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2013-09-16 02:30 pm (UTC)Правда ни кто так не пишет, кроме как в REPLе...
(no subject)
From:(no subject)
From:no subject
Date: 2013-09-16 02:53 pm (UTC)(no subject)
From:no subject
Date: 2013-09-16 06:46 pm (UTC)no subject
Date: 2013-09-17 11:24 am (UTC)А если "в нормальных командах" не зафиксировать политику форматирования - то текст и при отсутствии табуляций смотреть невозможно.
no subject
Date: 2013-09-16 01:29 pm (UTC)no subject
Date: 2013-09-16 08:52 pm (UTC)(no subject)
From:no subject
Date: 2013-09-16 01:40 pm (UTC)А над разными coding style-ами можно издеваться долго и громко. Ну хоть тот же linux kernel coding style — только табы для отступов, таб 8 пробелов, длина строки всё те же 80 символов. Ничо, живут как-то.
no subject
Date: 2013-09-16 02:01 pm (UTC)Привет, перфокарты!
Вит, ты тут попал пальцем в небо. Хаскель тут совсем ни при чем.
Потому что и в Питоне, который в миллион раз распространенне Хаскелля, и вообще является одним из самых распространненых языков в мире, во всяком случае совершенно принятым индустрией - именно такой же стандарт хорошего стиля
цитата
"Limit all lines to a maximum of 79 characters.
Limiting the required editor window width makes it possible to have several files open side-by-side, and works well when using code review tools that present the two versions in adjacent columns.
И с табами в Питоне тоже же самое
Spaces are the preferred indentation method.
Tabs should be used solely to remain consistent with code that is already indented with tabs.
Python 3 disallows mixing the use of tabs and spaces for indentation.
http://www.python.org/dev/peps/pep-0008/
no subject
Date: 2013-09-16 02:06 pm (UTC)Это потому что ты не пользуешься современным редактором типа Сублайма
В Сублайме, когда ты выделяешь некую часть текста, он тебе показывает все скрытые символы. это очень удобно. выглядит это так
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:Форматирование кода.
Date: 2013-09-16 02:12 pm (UTC)Re: Форматирование кода.
Date: 2013-09-16 08:58 pm (UTC)(no subject)
From:(no subject)
From:no subject
Date: 2013-09-16 02:14 pm (UTC)для этого есть git вообще-то, или какой нибудь другой сурс контрол
no subject
Date: 2013-09-16 02:29 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2013-09-16 02:17 pm (UTC)Облокачиваюсь на Alt+Backspace, и жду секунд 40.
no subject
Date: 2013-09-16 02:31 pm (UTC)no subject
Date: 2013-09-16 02:53 pm (UTC)no subject
Date: 2013-09-16 08:28 pm (UTC)(no subject)
From:no subject
Date: 2013-09-16 03:25 pm (UTC)А при чем здесь, собственно, перфокарты? Вот у меня, обычный самый ноутбук, 15" экран, разрешение 1366x768 (ок, разрешение маленькое, но размер-то букв от этого меньший удобнее не станет).
Вот мой экран с редактором, разделённым на две части:
http://screencloud.net/img/screenshots/f7db28f2d00c0391ec57ba28a04d7af4.png
Как видите, вмещается целых 90 символов.
no subject
Date: 2013-09-16 03:54 pm (UTC)не зря же они напирают на "с 25-летней историей",
как буд-то это что-то хорошее (само по себе)
no subject
Date: 2013-09-16 04:40 pm (UTC)Табы - благо, 80 символов не использую, у меня немоноширинный шрифт.
no subject
Date: 2013-09-16 05:56 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:Наука — баба веселая и паучьей серьезности не терпит
From:(no subject)
From:no subject
Date: 2013-09-16 05:56 pm (UTC)Во всех компаниях, где я работал, было ровно то же самое правило. Хотя, в основном, это были C и C++.
И это очень правильно.
no subject
Date: 2013-09-16 08:23 pm (UTC)Потому что гладиолус? Или это религиозный догмат?
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:Ada Style Guide
Date: 2013-09-17 04:59 am (UTC)http://en.wikibooks.org/wiki/Ada_Style_Guide/Source_Code_Presentation#Source_Code_Line_Length
Source Code Line Length
guideline
Adhere to a maximum line length limit for source code (Nissen and Wallis 1984, §2.3).
instantiation
Specifically, it is recommended that you:
Limit source code line lengths to a maximum of 72 characters.
rationale
When Ada code is ported from one system to another, there may be restrictions on the record size of source line statements, possibly for one of the following reasons: some operating systems may not support variable length records for tape I/O, or some printers and terminals support an 80-character line width with no line-wrap. See further rationale in the note for Guideline 7.1.2.
Source code must sometimes be published for various reasons, and letter-size paper is not as forgiving as a computer listing in terms of the number of usable columns.
In addition, there are human limitations in the width of the field of view for understanding at the level required for reading source code. These limitations correspond roughly to the 70- to 80-column range.
exceptions
An alternate instantiation is to limit source code length to 79 characters. The 79-character limit differentiates the code from the FORTRAN 72-character limit. It also avoids problems with 80-character width terminals where the character in the last column may not print correctly.
automation notes
The guidelines in this section are easily enforced with an automatic code formatter.
Так что дело не только в "привет, перфокарты", терминалы, принтеры и журнальные статьи, но ещё и в особеностях человеческого зрения -- в конце концов, в обычных книгах тоже в районе 65-70 символов в строке. (Правда в книгах текст плотный, в программах же обычно разрежённый за счёт выравнивания и отступов.)
Re: Ada Style Guide
Date: 2013-09-17 05:37 am (UTC)Adhere to a maximum line length limit for source code (Nissen and Wallis 1984, §2.3).
Всё остальное - мусор.
В середине восьмидесятых годов прошлого века умные люди ввели умное правило. С тех пор мир ушёл вперёд. Но военные (мы не забываем, кто использует Аду) до сих пор маршируют как записано в уставе.
no subject
Date: 2013-09-17 05:26 am (UTC)no subject
Date: 2013-09-17 05:40 am (UTC)ви таки будете смеятся
Date: 2013-09-17 06:43 am (UTC)Такая вот программно-аппаратная защита ноу-хау :)
Re: ви таки будете смеятся
Date: 2013-09-17 06:51 am (UTC)Re: ви таки будете смеятся
From:Re: ви таки будете смеятся
From:no subject
Date: 2013-09-17 07:41 am (UTC)То есть, сначала табы использовались для того, чтобы принтер просто отступил место, не тратя время на каждый пробел (вам это сейчас нужно?). Потом табы использовались в юниксах для быстрого форматирования колонок таблиц в консоли (это имеет какое-то отношение к тексту?). И лишь потом в WYSIWYG-редакторах эта «ненужная» для GUI клавиша была переосмыслена в отступ.
Но программный код — это вовсе не текст, как он пишется в Ворде, ему нужна четкость, легкость восприятия и понимания, а не плюшки и свистелки, именно поэтому код до сих пор в ASCII. Примешивать сюда какие-то угребищные анахроничные элементы форматирования родом из 70-ых мне кажется ужасным. Я хочу видеть текст, а не что-то, что расползается или сжимается в зависимости от настроек редактора.
Если уж на то пошло, почему месье не использует Vertical tabulation и другие химерные порождения принтеростроения 70-ых?!
no subject
Date: 2013-09-17 08:35 pm (UTC)no subject
Date: 2013-09-17 07:53 am (UTC)no subject
Date: 2013-09-17 08:37 pm (UTC)no subject
Date: 2013-09-17 05:30 pm (UTC)no subject
Date: 2013-09-17 09:11 pm (UTC)В остальном же адепты хаскеля напоминают поклонников вериг.
(no subject)
From: