Forth
http://fforum.winglion.ru/

Новый стандарт или чего бы хотелось
http://fforum.winglion.ru/viewtopic.php?f=9&t=99
Страница 11 из 11

Автор:  Hishnik [ Сб июл 18, 2009 00:58 ]
Заголовок сообщения: 

/me разбегается и влетает прямо в середину :)

Код:
>>берем_два_числа_и_кладем_одно>

Автор:  Kamikaze [ Сб июл 18, 2009 02:02 ]
Заголовок сообщения: 

Ничё так!
Еще вариант - "морзянка":
Код:
_.xyz, ( addr u -- flag )

(чтобы "служебные" символы стековой нотации не загромождали запись их можно опустить вниз строчки)

Автор:  вопрос [ Сб июл 18, 2009 08:04 ]
Заголовок сообщения: 

Цитата:
>>берем_два_числа_и_кладем_одно>

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

Автор:  mOleg [ Сб июл 18, 2009 09:47 ]
Заголовок сообщения: 

имена нужно выбирать удачные 8) а уж что в имени будет, вопрос второй.
в любом случае понятно, что выбирать надо:
1) имена отражающие суть определения, желательно понятные всем
2) небольшого размера
3) с небольшим количеством сокращений

а насчет неких стековой нотации в именах, в некотором роде такое уже есть: +! к примеру

Автор:  VoidVolker [ Сб июл 18, 2009 10:52 ]
Заголовок сообщения: 

Прекраснейший способ опускания читабельности ниже плинтуса.

Автор:  Kamikaze [ Сб июл 18, 2009 11:32 ]
Заголовок сообщения: 

Олег прав с пунктами 1-3. Формула в имени - переизбыток информации, не повышающий, а наоборот снижающий читабельность исходника.

А вот компактный способ отображения стековой нотации в имени, ПМСМ, может резко повысить скорость разработки (отладки) программ. Вопрос в том какие символы для этого использовать? Причем так чтобы они были видны для "визуального контроля состояния стека", но, одновременно с этим, не мешали при чтении названий слов.
Кстати, интересно, а лисповские скобки сильно мешают? :D

Автор:  вопрос [ Сб июл 18, 2009 11:44 ]
Заголовок сообщения: 

Главное - наглядность
история знает 2 формальных и кучу неформальных способов обеспечения наглядности
формальные:
отображение в именах иерархии кода (объект-ориентированная нотация)
отображение в именах ( выражениях ) связей кода: явное указание аргументов передаваемых в функцию

С++ и подобные языки (много) выиграли за счёт этих двух пунктов

Автор:  mOleg [ Сб июл 18, 2009 11:45 ]
Заголовок сообщения: 

Kamikaze писал(а):
Кстати, интересно, а лисповские скобки сильно мешают?

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

Kamikaze писал(а):
А вот компактный способ отображения стековой нотации в имени, ПМСМ, может резко повысить скорость разработки (отладки) программ.

я могу сказать, только то, что когда пишешь код надо не лениться делать коментарии. Точнее даже не так, сначала надо писать коментарий, а потом код! Именно коментарий часто помогает сформулировать мысль, или, даже, факторизовать код более эффективным образом. Потому что, если коментарий слишком сложный, или составной, сразу становится видно, что нужно код разбивать!

Я лично делаю так:
1) пишу : Name ( стековая диаграмма )
(замечу, что стековая диаграмма иногда не известна, а иногда становится понятно, что данные на стеке не верно расположены и нужна правка в вызвающем коде)
2) пишу коментарий по типу: слово вполняет такую-то функцию ( то есть ответ на вопрос что делает)
3) начинаю писать код.
Часто бывает ситуация, когда у меня есть много слов, не содержащих еще кода. То есть только имена и коментарии.

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

Kamikaze писал(а):
Вопрос в том какие символы для этого использовать?

ну, загляни в форк, там есть список сокращений :)

Страница 11 из 11 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/