Re[9]: красивый код
От: aik Австралия  
Дата: 28.12.05 07:17
Оценка:
Здравствуйте, Pzz, Вы писали:

>>>> Мне не нравится как линукс написан. А работает... Эхехе. Всё б так

Pzz>А что, вот такая програмка:
Pzz> while(1)
Pzz> fork();
Pzz>уже перестала его ронять?...

Тебе написать аналогичную прогу под винду? Результат тоже будет грустным.
Re[11]: красивый код
От: antiPooH  
Дата: 28.12.05 07:32
Оценка:
Здравствуйте, _Winnie, Вы писали:

_W>Здравствуйте, eao197, Вы писали:


E>>Насколько я помню, в изобразительном искусстве вообще нет понятия "красивый". Это зрители делят картины на "красивые" и "не красивые". Художники такими понятиями не оперируют.


_W>Ты когда нибудь видел код, который тебя поражал?


Я, я видел. Я видел программу на фох-про с 19(девятнадцатью) вложенными циклами! Этого мне не забыть никогда!
Re[8]: красивый код
От: Andrei N.Sobchuck Украина www.smalltalk.ru
Дата: 28.12.05 08:00
Оценка:
Здравствуйте, aik, Вы писали:

aik>Так. Еще раз. Про красоту кода книжку покажи. А не про качество.


Ты что, термин "code smell" никогда не слышал?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Я ненавижу Hibernate
Автор: Andrei N.Sobchuck
Дата: 08.01.08
!
Re[9]: красивый код
От: Cyberax Марс  
Дата: 28.12.05 08:09
Оценка:
Pzz wrote:
> А что, вот такая програмка:
> while(1)
> fork();
> уже перестала его ронять?...
Давно уже перестала — при настроеных лимитах.

--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re: красивый код
От: jorj  
Дата: 28.12.05 08:21
Оценка:
Здравствуйте, _Winnie, Вы писали:

_W>Любой некрасивый код является либо учитывающим человеческий фактор, либо workaround-ом вокруг другого неправильного кода, либо неправильным кодом, который можно переписать кратко, красиво и понятно. Нет задачи, для которой нужно писать плохой код, бывает только мало времени/мало опыта/нежелание.


Визуально красивый код (функционально он может вообще не работать — это прежде всего код написанный по четким правилам некоего кодинг стандарта.
Грубо говоря, это когда все написано безобразно, но единообразно!
Re[11]: красивый код
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 28.12.05 08:26
Оценка:
Здравствуйте, _Winnie, Вы писали:

E>>Насколько я помню, в изобразительном искусстве вообще нет понятия "красивый". Это зрители делят картины на "красивые" и "не красивые". Художники такими понятиями не оперируют.


_W>Ты когда нибудь видел код, который тебя поражал?


Поражал чем? Своим совершенством? Небрежностью? Изощренностью? Бесполезностью? Угробищностью?

Имхо, чтобы все это увидеть, вовсе не нужно далеко ходить, достаточно время от времени читать форумы RSDN. Ну например.

Не смотря на флеймовость темы Goto's are evil?
Автор: Cyberax
Дата: 28.11.05
, там было несколько примеров избавления от goto в коде: исходный вариант с goto
Автор: 0xDEADBEEF
Дата: 01.12.05
и без него
Автор: eao197
Дата: 02.12.05
. И, как продолжение, Исходная функция utf8_encode
Автор: 0xDEADBEEF
Дата: 03.11.05
с goto, в которой не просто разобраться, и ее отрефакторенный вариант
Автор: eao197
Дата: 09.12.05
, который лично мне кажется проще.

Это, на мой взгляд, примеры небрежного, не доведенного кода, недостаточного внимания к нему. Чуть-чуть больше усилий и все было бы нормально.

Вот пример
Автор: eao197
Дата: 30.11.05
паталогии. Это не лечится, только ампутация (полное переписывание). И там же пример
Автор: runtime2
Дата: 02.12.05
действительно просто выглядящего решения, только я не проверял его работоспособность на разных входных данных.

В качестве примеров изощренного (по моему мнению) кода можно посмотреть на примеры, приведенные Dmi_3 в теме Compile-time вычисления: а оно вообще надо?
Автор: eao197
Дата: 25.10.05
(например, здесь
Автор: Dmi_3
Дата: 26.10.05
). Не менее изощренный код можно увидеть в статье Использование метаданных в программах на языке C++
Автор(ы): Владислав Юдин
Дата: 22.05.2005
Цель данной статьи — показать, что метаданные это мощный механизм, требующий выделения в отдельный компонент, который хотелось бы видеть в стандартной библиотеке С++.
.

А в качестве, на мой взгляд, бесполезного кода, можно посмотреть InteLib (она затрагивалась в теме Lisp на C++
Автор: Зверёк Харьковский
Дата: 28.09.05
).


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[3]: красивый код
От: Kemsky  
Дата: 28.12.05 08:38
Оценка:
Здравствуйте, _Winnie, Вы писали:

_W>2) (в меру)эффективный

_W>3) сопровождаемый, расширяемый
_W>4) легко читаемый и понимаемый..
_W>5) ....



E>>Кстати, ты в своей фразе смешал два разных понятия: красивый и плохой. Красивый код так же может быть плохим.


Представь рекламу выставки: все картины написаны стойкими к солнечному свету красками, в рамках из натурального кедра, в стандартном формате, при необходимости легко сворачиваются в трубочку.
Мой критерий искуства в целом — это насколько оно раздвигает границы сознания, расширяет представления о реальности или выводит за её пределы. И если речь идёт о коде, то это может быть демонстрация некоторой техники, неочевидной на текущем этапе, которая может использоваться в частности для улучшения указанных качеств.
Re[10]: красивый код
От: Pzz Россия https://github.com/alexpevzner
Дата: 28.12.05 11:07
Оценка:
aik wrote:
>
>>>>> Мне не нравится как линукс написан. А работает... Эхехе. Всё б так
> Pzz>А что, вот такая програмка:
> Pzz> while(1)
> Pzz> fork();
> Pzz>уже перестала его ронять?...
>
> Тебе написать аналогичную прогу под винду? Результат тоже будет грустным.

Я винда здесь при чем?
Posted via RSDN NNTP Server 2.0
Re[3]: эстетически приятный код :)
От: gear nuke  
Дата: 29.12.05 02:30
Оценка: 22 (1) +1 :))) :)))
Здравствуйте, _Winnie, Вы писали:

_W>Красивый — это всё.


_W>1) эстетически приятный

_W>2) (в меру)эффективный
_W>3) сопровождаемый, расширяемый
_W>4) легко читаемый и понимаемый..
_W>5) ....

Вот код, соответствеующий первому условию:
#!/usr/bin/perl -w                                    
use strict;
                                           $_='ev
                                       al("seek\040D
           ATA,0,                  0;");foreach(1..2)
       {<DATA>;}my               @camel1hump;my$camel;
  my$Camel  ;while(             <DATA>){$_=sprintf("%-6
9s",$_);my@dromedary           1=split(//);if(defined($
_=<DATA>)){@camel1hum        p=split(//);}while(@dromeda
 ry1){my$camel1hump=0      ;my$CAMEL=3;if(defined($_=shif
        t(@dromedary1    ))&&/\S/){$camel1hump+=1<<$CAMEL;}
       $CAMEL--;if(d   efined($_=shift(@dromedary1))&&/\S/){
      $camel1hump+=1  <<$CAMEL;}$CAMEL--;if(defined($_=shift(
     @camel1hump))&&/\S/){$camel1hump+=1<<$CAMEL;}$CAMEL--;if(
     defined($_=shift(@camel1hump))&&/\S/){$camel1hump+=1<<$CAME
     L;;}$camel.=(split(//,"\040..m`{/J\047\134}L^7FX"))[$camel1h
      ump];}$camel.="\n";}@camel1hump=split(/\n/,$camel);foreach(@
      camel1hump){chomp;$Camel=$_;tr/LJF7\173\175`\047/\061\062\063
      45678/;tr/12345678/JL7F\175\173\047`/;$_=reverse;print"$_\040
       $Camel\n";}foreach(@camel1hump){chomp;$Camel=$_;y/LJF7\173\17
        5`\047/12345678/;tr/12345678/JL7F\175\173\047`/;$_=reverse;p
         rint"\040$_$Camel\n";}#japh-Erudil';;s;\s*;;g;;eval;   eval
           ("seek\040DATA,0,0;");undef$/;$_=<DATA>;s$\s*$$g;(   );;s
             ;^.*_;;;map{eval"print\"$_\"";}/.{4}/g; __DATA__   \124
               \1   50\145\040\165\163\145\040\157\1 46\040\1  41\0
                    40\143\141  \155\145\1 54\040\1   51\155\  141
                    \147\145\0  40\151\156 \040\141    \163\16 3\
                     157\143\   151\141\16  4\151\1     57\156
                     \040\167  \151\164\1   50\040\      120\1
                     45\162\   154\040\15    1\163\      040\14
                     1\040\1   64\162\1      41\144       \145\
                     155\14    1\162\       153\04        0\157
                      \146\     040\11     7\047\         122\1
                      45\15      1\154\1  54\171          \040
                      \046\         012\101\16            3\16
                      3\15           7\143\15             1\14
                      1\16            4\145\163           \054
                     \040            \111\156\14         3\056
                    \040\         125\163\145\14         4\040\
                    167\1        51\164\1  50\0         40\160\
                  145\162                              \155\151
                \163\163                                \151\1
              57\156\056

# camel code, copyright 2000 by Stephen B. Jenkins
# The use of a camel image with the topic of Perl 
# is a trademark of O'Reilly & Associates, Inc. 
# Used with permission.

Кто скажет, что он делает?
People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird (c) D.Knuth
Re[5]: красивый код
От: DJ KARIES Россия  
Дата: 07.01.06 19:16
Оценка:
Здравствуйте, Mystic, Вы писали:

M>Я не согласен. Я уже приводил пример, что можно оценивать картину, фильм, и т. д. Да, оценка будет меняться от человека к человеку. Но этот процесс более-менее сходится. У признаных критиков на некотором этапе наблюдается сходимость данной оценки Иногда со временем. В любом случае, естетическая оценка может быть "эстетично" --- все критики согласны с тем, что код эстетичен, "спорно", "неэстетично" и т. д.


Исчо некатарыи крытики пешут "готично", "гламурна", "зач0т!", "аффтаржжот".
От критика к критику процесс индивидуален.

Поразвелось, блин, критиков. Понаехали, блин!
http://dkdens.narod.ru http://giref.forthworks.com
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.