Наименование переменных.

Dec 13, 2011 23:45

Длина имени переменной напрямую зависит от числа мест её использования ( Read more... )

функциональные языки, языки программирования, Хаскель

Leave a comment

Comments 70

historic_truth December 13 2011, 20:11:33 UTC
А я смотрю на проблему иначе ( ... )

Reply

lomeo December 13 2011, 20:48:10 UTC
> Сегодня все IDE/редакторы имеют подсказки по именам/словам. Потому мотивировать имена краткостью и удобством печати смешно.

Не следует или докажите. Зачем мне подсказка, если переменная используется в пределах трёх соседних строчек?

А смысл переменных может быть самым разным. В Haskell переменные могут вообще точки обозначать: "тут мы меняем местами вот эти аргументы, что они такое нам совершенно пофиг, поэтому обозначим их a, b, c". Длинные аргументы небольших функций (а в Haskell почти все функции получаются такими) скорее мешают чтению исходника.

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

Опять не следует.

Раньше вот, до изобретения шахматной нотации так и писали текстом, с маленькой нагрузкой на мозг существа с ограниченными ресурсами: "Пусть ваше сиятельство походит королевской пешкой на два хода, и если противник ответит так же, пойдите королевским конём на третье поле от слона..."

Ну, или математику взять.

Reply

historic_truth December 13 2011, 21:15:52 UTC
"Потому мотивировать имена краткостью и удобством печати смешно."
-- Не следует или докажитеoh, holy cow.. если есть дополнения, то я печатая те же 2-3-4 символа, на самом деле получаю как угодно длинную (если надо, конечно) описательную фразу в качестве имени ( ... )

Reply

thesz December 13 2011, 21:58:27 UTC
>Традиция экономить на машинной памяти идущая из 1950-1960х, перекладывая тяжесть на человеческий мозг, есть вселенское зло.

Это традиция экономии собственной памяти и мышления. Про f1 и f2 всё из контекста понятно, изобретать что-либо сложнее незачем.

Reply


lomeo December 13 2011, 20:35:47 UTC
> Длина имени переменной напрямую зависит от числа мест её использования.

Скорее от расстояния между этими местами.

Reply

thesz December 13 2011, 21:00:08 UTC
Пожалуй, соглашусь.

Reply


perepertoz December 13 2011, 22:31:11 UTC
гм. а ИМХО это изза областей видимости. В функциях области видимости имён ограничены самой функцией, и не приходится каждый раз явно это писать.
В языках с глобальными переменными явно писать namespace недосуг, вот и вырастают монстрики
имён АБВ, АБГ, АБД. которые АБ{ В, Г, Д } :DDD

Reply

lomeo December 14 2011, 07:21:46 UTC
Ну, вот в Java область видимости аргумента или локальной переменной тоже ограничены методом. Однако, никто не пишет краткие имена.

Reply

perepertoz December 14 2011, 10:09:15 UTC
ОК, еще могут влиять разные кодстандарты на имена :)

Reply

lomeo December 14 2011, 10:13:07 UTC
Тсс! Ещё скажут, что такой кодстандарт -- это традиция 60-х.

Reply


lelf December 14 2011, 11:54:25 UTC

Leave a comment

Up