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 ] |
Заголовок сообщения: | |
имена нужно выбирать удачные ![]() в любом случае понятно, что выбирать надо: 1) имена отражающие суть определения, желательно понятные всем 2) небольшого размера 3) с небольшим количеством сокращений а насчет неких стековой нотации в именах, в некотором роде такое уже есть: +! к примеру |
Автор: | VoidVolker [ Сб июл 18, 2009 10:52 ] |
Заголовок сообщения: | |
Прекраснейший способ опускания читабельности ниже плинтуса. |
Автор: | Kamikaze [ Сб июл 18, 2009 11:32 ] |
Заголовок сообщения: | |
Олег прав с пунктами 1-3. Формула в имени - переизбыток информации, не повышающий, а наоборот снижающий читабельность исходника. А вот компактный способ отображения стековой нотации в имени, ПМСМ, может резко повысить скорость разработки (отладки) программ. Вопрос в том какие символы для этого использовать? Причем так чтобы они были видны для "визуального контроля состояния стека", но, одновременно с этим, не мешали при чтении названий слов. Кстати, интересно, а лисповские скобки сильно мешают? ![]() |
Автор: | вопрос [ Сб июл 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/ |