powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / "Красивый" стиль программирования (внутренняя красота кода)
25 сообщений из 80, страница 3 из 4
"Красивый" стиль программирования (внутренняя красота кода)
    #34718194
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_soldierЕще можно о красоте кода судить по его оптимальности.
Общепризнанна зависимость красоты инженерного решения от его целесообразности. В ряде случаев целесообразность - синоним оптимальности.
...
Рейтинг: 0 / 0
"Красивый" стиль программирования (внутренняя красота кода)
    #34718290
Voyager-8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_soldierЕще можно о красоте кода судить по его оптимальности.
Обычно, в зависимости от ситуации, оптимизируют по:
- количеству операторов в программе
- быстродействию алгоритма
- объему потребляемой памяти
- времени написания кода

---
Идеи движут Мир!

неа. лучше судить по точности выполнения поставленной задачи, не прогать лишнего
...
Рейтинг: 0 / 0
"Красивый" стиль программирования (внутренняя красота кода)
    #34718439
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мод
Самое общее соображение: текст программы должен максимально соответствовать исходной задаче. Т.е. в идеале по тексту программы без комментариев можно понять и саму задачу и способ ее решения. Пример: рекурсивный способ расчета факториала "красивее" итеративного.
Добавлю. В природе, красота тесно взаимосвязана с целесообразностью. Например, дельфин имеет форму тела, приспособленную к гидродинамике среды. Гепард обладает худощавым телосложением и особой системой лёгких и сердца, которые расчитанны на кратковременные но мощные нагрузки.

Программирование также должно быть естественно-красивым. Например классические императивные алгоритмы должны иметь императивные реализации. Функциональные - наоборот.

Попытка "притянуть за уши" или "навязать" имплементацию чужеродной среды закончится неудачей. Ибо - некрасиво. Например: некрасиво работать с файлами произвольного доступа на языке функционального программирования или пытатся моделировать синтаксический транслятор на PL/SQL или писать игру реального времени в экспертной системе.

В этом контексте "некрасивость" можно развернуть как ворох синонимов: негибко, неудобно, небыстро, ненадёжно, нечитабельно, несопроводжабельно и... наконец нерентабельно .
...
Рейтинг: 0 / 0
"Красивый" стиль программирования (внутренняя красота кода)
    #34718462
Voyager-8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton мод
Самое общее соображение: текст программы должен максимально соответствовать исходной задаче. Т.е. в идеале по тексту программы без комментариев можно понять и саму задачу и способ ее решения. Пример: рекурсивный способ расчета факториала "красивее" итеративного.не очень хороший пример с факториалом.. в особенности если учесть что его точный рассчет идёт только до 17, далее числа с мантиссой

:)
...
Рейтинг: 0 / 0
"Красивый" стиль программирования (внутренняя красота кода)
    #34718838
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerВ этом случае "текст программы, максимально соответствующий исходной задаче" будет ужасен во всех смыслах, а красивое решение заключается как раз-таки в переработке этого уродца в матрицу условий и результатов.
Так эта матрица и будет наиболее адекватна исходной задаче (т.к. дакларация всегда адекватнее императива).
Пример однако:
Код: plaintext
1.
2.
3.
 1 : x= 3 -x
 2 : if x= 1  then x= 2   else x= 1  end
 3 : x=if(x= 1 , 2 , 1 )
все-таки вар.3 лучше
зы Лучшая книга по этому поводу
http://lib.ru/CTOTOR/DEJKSTRA/
...
Рейтинг: 0 / 0
"Красивый" стиль программирования (внутренняя красота кода)
    #34718857
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Voyager-8не очень хороший пример с факториалом
Рекурсивная программа совпадает с мат. определением - в этом суть. Т.е. в идеале записанная мат. постановка - это и и есть готовая программа.
...
Рейтинг: 0 / 0
"Красивый" стиль программирования (внутренняя красота кода)
    #34718978
Alex_soldier
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarerПервую мысль уже озвучили: такое впечатление, что Вам платят построчно.Еще раз отмечу, что делаю это бесплатно. В идеале большую часть должна генерить IDE, но пока не судьба.

softwarerТут не только оформление надо лечить.Тут вообще ничего трогать не надо - фрагмент был приведен в целях демонстрации оформления.

softwarerОбщепризнанна зависимость красоты инженерного решения от его целесообразности. В ряде случаев целесообразность - синоним оптимальности.Говорим об одном и том же!

Voyager-8неа. лучше судить по точности выполнения поставленной задачи, не прогать лишнегоНеточное выполнение поставленной задачи - не является решением по определению!
...
Рейтинг: 0 / 0
"Красивый" стиль программирования (внутренняя красота кода)
    #34719417
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет, Alex_soldier!
Ты пишешь:

Alex_soldierAs> Еще раз отмечу, что делаю это бесплатно.
As> В идеале большую часть должна генерить IDE,
As> но пока не судьба.ОРЗРВВ

--
With best regards, Мимопроходящий.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
"Красивый" стиль программирования (внутренняя красота кода)
    #34721186
Alex88
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Позволю себе кое с чем не согласиться (что такое "ОРЗРВВ", я, к сожалению, не знаю)

Начну с того, что в примере Alex_soldier кое-что, действительно, нуждается в исправлении:
авторmyStr := StringReplace(myStr, '.', ',', [rfReplaceAll]); // Меняем точки на запятые
Зачем здесь нужен комментарий?

Однако, в общем, я согласен с Alex_soldier и тоже "делаю это бесплатно". Почему? Потому что меня не учили работать грязно. Когда вы покупаете мебель для кухни, пытаетесь собрать и видите, что отверстия не того диаметра и не на тех местах - чем это отличается от грязно написанной программы? А красиво работать - это не за деньги, просто иначе нельзя.

Извините, мод , но по-моему, вариант (3) является наихудшим.

С Voyager-8 тоже не могу согласиться. Вы все, наверное, знаете, что программу, "точно соответствующую посталенной задаче", но не подлежащую ни модификации, ни чтению (такую одноразовую поделку) можно слепить за полчаса и даже после поллитра водки. Но это, извините, не программирование, это называется блатным термином "лепить горбатого". Да, всем доводилось по необходимости, но это, между нами, не показатель профессионализма и не достижение. Горбатый - он и есть горбатый.
...
Рейтинг: 0 / 0
"Красивый" стиль программирования (внутренняя красота кода)
    #34721195
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex88Начну с того, что в примере Alex_soldier кое-что, действительно, нуждается в исправлении:
Я был бы согласен с Вашим замечанием, если бы не одно "но": здесь не нужен не только комментарий, а и строка, которую он комментирует. А среди нуждающегося в исправлении я бы назвал:

1. Неправильную работу подпрограммы при различных региональных настройках
2. Игнорирование делающей ту же работу стандартной функции
3. Совершенно ненужное исключение, затрудняющее работу в IDE (вынуждающее либо постоянно дергаться на эту проверку, либо игнорировать этот класс исключений)
...
Рейтинг: 0 / 0
"Красивый" стиль программирования (внутренняя красота кода)
    #34721203
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
модТак эта матрица и будет наиболее адекватна исходной задаче
Только при очень расширенном восприятии "адекватности" - слова, которым Вы ненавязчиво заменили ранее употребленное "соответствие".

Такая матрица, безусловно, "более адекватна". Но мифический постановщик, ставивший задачу в указанном виде, при взгляде на эту матрицу задачу "не узнает". И программист, врубающийся с нуля в код, глядя на матрицу, "не опознает" текст ТЗ, который он читал.

мод3: x=if(x=1,2,1)
все-таки вар.3 лучше
Я бы сказал, лучше

Код: plaintext
1.
2.
 const  newxvalues:  array  [boolean]  of  byte = ( 1 ,  2 );
...
x := newxvalues [x =  1 ];
...
Рейтинг: 0 / 0
"Красивый" стиль программирования (внутренняя красота кода)
    #34721215
Alex88
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer , да, неправильную работу при разных настройках я, признаюсь, не заметил.
Однако исключение может быть вполне осмысленным, если используется где-то на внешних уровнях. Работа в IDE в большинстве случаев не является рабочим режимом.
...
Рейтинг: 0 / 0
"Красивый" стиль программирования (внутренняя красота кода)
    #34721217
Фотография NextMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
klen_...
старайся писать с мыслью, что твою прогу будут править (делать изменения, жизнь не стоит на месте) другие кодеры, программисты, как хочешь


Нафик-нафик.
Учти прежде всего, что свою прогу будешь править именно ты.

klen_...мне приходилось делать изменения в программах, где было по сорок операторв go to

в других прогах после оператора if, 500 или даже 1000 строк кода, затем else и так далее
я не великий программист, поэтому достаточно долго в них ковырялся, а иногда
просто заменял, отдельный пункт меню, своей процедурой

короче пиши для других

Вот именно: klen_-у наплевать на чужой код; ишь какой - сразу все под себя переделывать стал.

Короче: пиши для себя.
...
Рейтинг: 0 / 0
"Красивый" стиль программирования (внутренняя красота кода)
    #34721220
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex88Однако исключение может быть вполне осмысленным, если используется где-то на внешних уровнях.
Алекс, пожалуйста посмотрите еще раз на обсуждаемый код, потом на Ваш ответ, и ответьте еще раз, поудачнее.

Alex88Работа в IDE в большинстве случаев не является рабочим режимом.
Для кого? Программист значительную часть рабочего времени проводит в IDE. Поэтому код, осложняющий работу в IDE, является постоянно действующим штрафом к эффективности его труда - действующим каждый день все те годы, что используется эта функция.
...
Рейтинг: 0 / 0
"Красивый" стиль программирования (внутренняя красота кода)
    #34721232
Alex88
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, softwarer , посмотрел код. Что-то я сегодня тупой
Но по 2-му вопросу остаюсь при своем мнении: программе не место в IDE, она должна работать на свободе. Если же функция настолько ценна, что используется во всех грядущих разработках, можно не полениться и избавить ее от глупо возникающих исключений. А лишние дерганья как раз и будут стимулом для этого.

Не пишите для Себя, NextMan , Вам же хуже будет
...
Рейтинг: 0 / 0
"Красивый" стиль программирования (внутренняя красота кода)
    #34721244
Фотография Хрюхрюшкин.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Предлагаю занести это в какие-нибудь аналы =)
Alex88 программе не место в IDE, она должна работать на свободе
...
Рейтинг: 0 / 0
"Красивый" стиль программирования (внутренняя красота кода)
    #34721573
<->
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
интересно, а есть где-нибуть в сети примеры красиво (ну или хотя-бы просто правильно) разработанных программ ? Причем не только сам код, но и какая-нибудь документация к нему ?
...
Рейтинг: 0 / 0
"Красивый" стиль программирования (внутренняя красота кода)
    #34721655
Фотография FasterHarder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
I started in 1983, in 2007 i still on a case!

чтобы писать красивый/хороший/читабельный/всеохватывающий код прочтите книгу Макконели "Совершенный код", заодно и познакомиться можно с разными признаками и свойствами строк кода(или типа того:)).
...
Рейтинг: 0 / 0
"Красивый" стиль программирования (внутренняя красота кода)
    #34722775
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerНо мифический постановщик, ставивший задачу в указанном виде, при взгляде на эту матрицу задачу "не узнает". И программист, врубающийся с нуля в код, глядя на матрицу, "не опознает" текст ТЗ, который он читал.
Есть содержательная постановка задачи (на пальцах), а есть формальная - математическая. Я ессно имел ввиду только ее.
softwarer
Я бы сказал, лучше
Код: plaintext
1.
2.
 const  newxvalues:  array  [boolean]  of  byte = ( 1 ,  2 );
...
x := newxvalues [x =  1 ];

Тоже вариант, но две строчки, да еще разнесенные по тексту ... (:
...
Рейтинг: 0 / 0
"Красивый" стиль программирования (внутренняя красота кода)
    #34722802
Alex_soldier
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо, про региональные стандарты я не подумал, генерацию исключения тоже убрал.
Но собственно, сам код в данном случае не важен, поскольку я привел пример своего стиля оформления.

<->интересно, а есть где-нибуть в сети примеры красиво (ну или хотя-бы просто правильно) разработанных программ ? Причем не только сам код, но и какая-нибудь документация к нему ? К сожалению вы не оставили контакта. Напишите мне на e-mail.
...
Рейтинг: 0 / 0
"Красивый" стиль программирования (внутренняя красота кода)
    #34725645
Alex_soldier
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Меня начало одолевать любопытство.
В этой теме многие высказали свое мнение.
А кто какого напрвления в программировании придерживается?
XP, RUP, SCRUM, что-то еще ...
Очень интересна статистика!
...
Рейтинг: 0 / 0
"Красивый" стиль программирования (внутренняя красота кода)
    #34727980
Alex88
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мое мнение таково, что ни одного из этих направлений в природе не существует как и широко обсуждаемых "тяжелых" и "легких" технологий. Вернее все это существует только в воображении IT-теоретиков, которые давно забыли, что такое программа и как ее писать.
Поэтому лично я придерживаюсь направления, которое называется "программирование" (не путать с "кодированием" и "кликаньем контролов на формы"). И всем того же желаю.
Извините, если кого обидел.
...
Рейтинг: 0 / 0
"Красивый" стиль программирования (внутренняя красота кода)
    #34734512
Lalr_one
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На эту тему (и вообще для общего развития) стоит читать Кнута и его последователей:

http://literateprogramming.com/
...
Рейтинг: 0 / 0
"Красивый" стиль программирования (внутренняя красота кода)
    #34734562
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lalr_oneНа эту тему (и вообще для общего развития) стоит читать Кнута и его последователей:

http://literateprogramming.com/

Кнут и Уоррен это пожалуй СЛИШКОМ красиво
...
Рейтинг: 0 / 0
"Красивый" стиль программирования (внутренняя красота кода)
    #34738714
Lalr_one
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Voyager-8не очень хороший пример с факториалом.. в особенности если учесть что его точный рассчет идёт только до 17, далее числа с мантиссой

:)

Вот так вообще красивее будет:

fac n = foldl (*) 1 [1..n]

И, что характерно, будет давать корректные результаты даже для n=1000 и больше.
...
Рейтинг: 0 / 0
25 сообщений из 80, страница 3 из 4
Форумы / Программирование [игнор отключен] [закрыт для гостей] / "Красивый" стиль программирования (внутренняя красота кода)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]