Forth http://fforum.winglion.ru/ |
|
Стандартизация читабельности (понятности) кода ? http://fforum.winglion.ru/viewtopic.php?f=36&t=1864 |
Страница 6 из 8 |
Автор: | mOleg [ Чт янв 15, 2009 21:22 ] |
Заголовок сообщения: | |
Вопрос изначально поставил неправильно вопрос в вопросах понятности кода надо начинать с себя (я видел и сишный и паскалевский нечитаемый код, который легче переписать, чем отладить или вообще понять, что имелось ввиду.) Если я вижу функцию, определение, подпрограмму или как его назови, которая не влазит в экран, я автоматом ее пропускаю. Код, с которого началось обсуждение имеет не одно такое определение, а значит, я разбираться в нем и не буду пытаться... тем более, что коментариев нет. То есть изначально программист не уважает того, кто код будет разбирать, так как не пытается сделать его читаемым. |
Автор: | Pretorian [ Чт янв 15, 2009 21:25 ] |
Заголовок сообщения: | |
Кстати, а ТЗ для Кварка есть? (такой каверзный вопросец) |
Автор: | вопрос [ Чт янв 15, 2009 21:29 ] |
Заголовок сообщения: | |
Цитата: Если я вижу функцию, определение, подпрограмму или как его назови, которая не влазит в экран, я автоматом ее пропускаю. Ну речь зашла не о коде, а о ... несовместимости, кроме того, не о моём коде, а о 3х сразу, а насчёт не вмещается в экран - да, тут Олег прав, но это зависит от размера экрана.
|
Автор: | mOleg [ Чт янв 15, 2009 21:32 ] |
Заголовок сообщения: | |
вопрос писал(а): Ну речь зашла не о коде, а о ... несовместимости, кроме того, не о моём коде, а о 3х сразу, а насчёт не вмещается в экран - да, тут Олег прав, но это зависит от размера экрана.
несовместимость есть и у сишных компиляторов, и про это достаточно много писалось. размер экрана не причем. Слова должны быть ЗНАЧИТЕЛЬНО короче! не более 10 строк. Коментарии должны присутствовать хоть какие-то! Если вы хотите, чтобы в вашем коде захотели разбираться, то к этому надо приложить усилия. |
Автор: | вопрос [ Чт янв 15, 2009 21:38 ] |
Заголовок сообщения: | |
Цитата: То есть изначально программист не уважает того, кто код будет разбирать, так как не пытается сделать его читаемым. ВОт насчёт "не уважает" совершенно незачем кого-то обвинять
тут нет комментариев Код: \ снятие со стека операций и размещение в результирующей строке: скобка - операция (-1)
\ хранить операции на стеке операций ... \ в виде ссылок : oper_stack> ( -- ) result_pointer ( check >> ) 4096 > IF ." STRING LENGTH OVERFLOW " anykey? KEY DROP BYE THEN oper_stack oper_stack_pointer 1 - 1dap ( addr_of_last oper_stack ) @ ( value_of_last_operstack=addr_of_pryority_stack_elem ) analog_pointers SWAP 1dap @ ( value_of_analog_pointers_cell[vapc] ) analog_str + ( addr_of_analog_ ) DUP TO wordbegin BEGIN 1 + DUP C@ 32 = UNTIL ( [alrs] wordend ) word_to_res oper_stack_pointer 1 - TO oper_stack_pointer ; в каждой строке. Другое дело, что какие-то кривые. Но вот, можно предложить рекомендации на степень подробности и формат комментариев |
Автор: | вопрос [ Чт янв 15, 2009 21:42 ] |
Заголовок сообщения: | |
mOleg писал(а): вопрос писал(а): Ну речь зашла не о коде, а о ... несовместимости, кроме того, не о моём коде, а о 3х сразу, а насчёт не вмещается в экран - да, тут Олег прав, но это зависит от размера экрана. Если вы хотите, чтобы в вашем коде захотели разбираться, то к этому надо приложить усилия. Но изначально код не предназначался для разбора, мне нетрудно его прокомментировать и даже переформатировать (благо, форт), другое дело, что код Михаила - такой же "тёмный лес", хотя он именно компактен, и я подозреваю (знаю) что никто не читал ни одного из 3 решений кроме участников. |
Автор: | mOleg [ Чт янв 15, 2009 21:45 ] |
Заголовок сообщения: | |
я смотрел только на главное слово: я не увидел коментариев, я увидел код, который не влазит в 38 строк (у меня столько в редакторе видно), и мне сразу стало не интересно (то есть дальше я не разбирался). <pre> : >postfix ( asc # --> asc # ) transformation_type_flag NOT IF _BASE_POSTFIX_TYPE THEN 0 TO transformation_type_flag SWAP DUP TO sourcestringbegin TO sourcestringpointer sourcestringbegin + TO sourcestringfinal >postfix_variables_start BEGIN sourcestringpointer sourcestringfinal > NOT WHILE sourcestringpointer ( symbol_addr ) STRING_STATE IF C@ s_sym IF \ naturally, end of word 0 TO STRING_STATE sourcestringpointer 1 - word_to_res THEN sourcestringpointer 1 + TO sourcestringpointer ELSE \ ---------------------- NO word in process ---------------------- C@ s_sym NOT IF sourcestringpointer symbol_recognize IF skip_op_symbols ELSE -1 TO STRING_STATE sourcestringpointer TO wordbegin THEN THEN sourcestringpointer 1 + TO sourcestringpointer THEN REPEAT \ end of string - rest OPERATOR_STATE OBRACKET_STATE OR IF ." UNEXPECTED END OF_ STRING " anykey? KEY DROP BYE THEN end_of_string_match result_begin ( asc ) result_pointer ( # ) ; </pre> |
Автор: | Hishnik [ Чт янв 15, 2009 21:47 ] |
Заголовок сообщения: | |
вопрос писал(а): но нам до внутренностей кварка доступа нет, хотя просили Хищника и покопаться и посмотреть - не позволил. А зачем? Ради "покопаться"? Есть документация, из нее в принципе понятно, как сделано внутри. вопрос писал(а): Нужен, разумеется, и открытый проект Кварк - открытая система Если посмотреть определение открытых систем (а не систем с открытым исходным кодом, что не одно и то же). вопрос писал(а): кроме того
для кварка отсутствует ТЗ кварк - диалект, а речь - о стандарте Диалект и есть. А как, интересно, я мог его писать без ТЗ? И ТЗ, и документация - все имеется. Но рассматривать его в качестве стандарта я не стал бы, поскольку идеей была адаптация форт-машины под конкретную целевую нишу, а не создание мейнстрима. |
Автор: | вопрос [ Чт янв 15, 2009 21:53 ] |
Заголовок сообщения: | |
Цитата: зачем? Ради "покопаться"? Есть документация, из нее в принципе понятно, как сделано внутри. ради упоминавшейся коллективной работы над одним проектом ... а не любования на систему со стороны (Хищник забыл о чем речь?)
|
Автор: | вопрос [ Чт янв 15, 2009 21:58 ] |
Заголовок сообщения: | |
mOleg писал(а): я смотрел только на главное слово:
я не увидел коментариев, я увидел код, который не влазит в 38 строк (у меня столько в редакторе видно), и мне сразу стало не интересно (то есть дальше я не разбирался). Повторюсь - не рассчитывал, что кто-то станет разбирать. И всё-таки (я прошу посмотреть моё сообщение) извинился за то, как выглядит это слово. |
Автор: | mOleg [ Чт янв 15, 2009 22:02 ] |
Заголовок сообщения: | |
вопрос писал(а): Повторюсь - не рассчитывал, что кто-то станет разбирать.
И всё-таки (я прошу посмотреть моё сообщение) извинился за то, как выглядит это слово. я прошу прощения, получилось, что я наехал. Просто мне кажется, что начинать стоит с себя. Надо выработать правила оформления кода и им следовать. Когда будет что предложить - предлагать конкретно, а не обще, мол, давайте! |
Автор: | Hishnik [ Чт янв 15, 2009 22:03 ] |
Заголовок сообщения: | |
вопрос писал(а): ради упоминавшейся коллективной работы над одним проектом ... а не любования на систему со стороны (Хищник забыл о чем речь?)
"Гарольд Керцнер определяет проект как произвольный ряд действий или задач, имеющий определенную цель, которая будет достигнута в рамках выполнения некоторых заданий, характеризующихся определенными датами начала и окончания, пределами финансирования и ресурсами." Р. Фатрелл, Д. Шафер, Л. Шафер. Управление программными проектами Исходя из этого, если кварк - отдельная задача в рамках проекта, то откуда возьмется коллективная работа над проектом? Делать кучу веток сообразно с имхо? Тогда проекта так и не будет. |
Автор: | вопрос [ Чт янв 15, 2009 22:08 ] |
Заголовок сообщения: | |
Цитата: Просто мне кажется, что начинать стоит с себя. Надо выработать правила оформления кода и им следовать. Ну, получается, что этой темой я спрашиваю мнения
Когда будет что предложить - предлагать конкретно, а не обще, мол, давайте! |
Автор: | вопрос [ Чт янв 15, 2009 22:11 ] |
Заголовок сообщения: | |
Хищник писал(а): вопрос писал(а): ради упоминавшейся коллективной работы над одним проектом ... а не любования на систему со стороны (Хищник забыл о чем речь?) Исходя из этого, если кварк - отдельная задача в рамках проекта, то откуда возьмется коллективная работа над проектом? Делать кучу веток сообразно с имхо? Тогда проекта так и не будет. Тогда зачем предлагать кварк в качестве именно коллектичной работы ЭТИМ людям? Хищник, ещё раз (Хищнику тоже ... ) нужна попытка коллективной работы, чтобы понять (ткнуться носом в) потребности стандарта - над чем угодно, хоть над крестиками-ноликами |
Автор: | mOleg [ Чт янв 15, 2009 22:19 ] |
Заголовок сообщения: | |
вопрос писал(а): Цитата:Просто мне кажется, что начинать стоит с себя. Надо выработать правила оформления кода и им следовать.
Когда будет что предложить - предлагать конкретно, а не обще, мол, давайте!Ну, получается, что этой темой я спрашиваю мнения ну, так вам и говорят, читайте "Thinking Forth" Броуди, смотрите на уже существующие соглашения. Следуйте правилам, типа не писать слишком длинных слова, всегда делать коментарии, не делать более двух ветвлений на одно слово и пр. |
Страница 6 из 8 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |