На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: ANDLL, ALXR
Страницы: (2) [1] 2  все  ( Перейти к последнему сообщению )  
> Комментарии - душа программы?
   
Комментарии - душа программы?
Гости не могут просматривать результаты голосования.
Гости не могут голосовать 
    Интересно мне вот стало.
      G-Hex
      Голосовалка на эту же тему есть пятью строчками ниже.
        Цитата G-Hex @
        Я с Юпитера

        как не странно, самый популярный вариант
          ANDLL
          Это все же немного другая тема, хотя признаю, что ту голосовалку не заметил =)
            Душа программы код, а не комментарии. И чем лучше код, тем она душевнее, а комментарий может быть много, а толка никакого.
              В хорошем коде коментарии практически ненужны. Читается все и без коментов просто.
              А вот и примерчик
              //
              ; Cinema.TicketItem.T1
              ; Filing Methods for table: Cinema.TicketItem (extent = Cinema.TicketItem) - Do Not Edit. Compiled February 27, 2008 13:54:43
              ; Filing Methods for table: Cinema.TicketItem (extent = Cinema.TicketItem)
              #classmethod Cinema.TicketItemTableCode
              #classcontext Cinema.TicketItem
              #include %occExtent
              #include %occInclude
              #include %systemInclude
              #import Cinema
              %delete(%rowid,%check,%tstart=1,%mv=0) n bva,%cnt,%d,%e,%ele,%itm,%key,%l,%oper,%pos,%s,sn,sqlcode,subs s %oper="DELETE",sqlcode=0,%ROWID=%rowid,%d(1)=%rowid,%e(1)=%rowid,%d(0)=$p(%d(1),"||",1),%d(5)=$p(%d(1),"||",2),subs(9)=$p(%d(0),"||",1),%l=$c(0)
              k:'$TLEVEL %0CacheLock i '$a(%check,2) { n %ls i $i(%0CacheLock("Cinema.TicketItem"))>$zu(115,6) { l +^CinemaooTicketItemD:$zu(115,4) l:$t -^CinemaooTicketItemD s %ls=$s($t:2,1:0) } else { l +^CinemaooTicketItemD(subs(9),%d(5)):$zu(115,4) s %ls=$t } s:%ls=2 $e(%check,2)=$c(1) s:%ls=1 $e(%l)=$c(1) i '%ls s SQLCODE=-110,%msg="Unable to acquire lock for "_%oper_" of table 'Cinema.TicketItem' on row with RowID = '"_$g(%d(1))_"'" q } If %tstart { TSTART:($zu(115,1)=1)||('$TLEVEL&&($zu(115,1)=2)) } s $zt="%ETrap"
              d getold i sqlcode s SQLCODE=-106 g %EExit
              if %e(6)'="" s sn=$p(%e(6),$e(%e(6)),$l(%e(6),$e(%e(6)))-1) if "Cinema.TicketItem"'=sn n %f d %CopyIcolToName GOTO @("%PolymorphicDEL^"_$zutil(135,23,sn)_".T1")
              i '$a(%check),'$zu(115,7) d i sqlcode s SQLCODE=sqlcode g %EExit
              . n %fk,%k,%p,%st,%t,%z s %k="",%p("%1")="%d(1),",%p("IDKEY")="%d(0),%d(5),,"
              . f q:sqlcode<0 s %k=$o(^oddEXTR("Cinema.TicketItem","n",%k)) q:%k="" s %t="" f s %t=$o(^oddEXTR("Cinema.TicketItem","n",%k,"f",%t)) q:%t="" s %st=(%t="Cinema.TicketItem") s %fk="" f s %fk=$o(^oddEXTR("Cinema.TicketItem","n",%k,"f",%t,%fk)) q:%fk="" s %z=$g(^oddEXTR("Cinema.TicketItem","n",%k,"f",%t,%fk,61)) i %z'="",@("$$"_%z_"("_%p(%k)_",%k,%st)") s sqlcode=-124 q
              k ^CinemaooTicketItemD(subs(9),%d(5))
              d gunlock TCOMMIT:%tstart&&($zu(115,1)=1)
              s SQLCODE=0 q
              %insert(%d,%check,%inssel,%vco,%tstart=1,%mv=0) n bva,%cnt,%ele,%itm,%key,%l,%n,%oper,%pos,%s,sqlcode,sn,subs,icol s %oper="INSERT",sqlcode=0,%l=$c(0,0,0) i $d(%d(5)),'$zu(115,11) { i %d(5)'="" { s SQLCODE=-111,%msg="INSERT of Default Only RowID based-on field 'childsub' not allowed" q "" } k %d(5) } s:$d(%d(0)) subs(9)=$p(%d(0),"||",1) i '$a(%check),'$$FieldValidate() { s SQLCODE=sqlcode q "" } d Normalize
              k:'$TLEVEL %0CacheLock If %tstart { TSTART:($zu(115,1)=1)||('$TLEVEL&&($zu(115,1)=2)) } s $zt="%ETrap"
              s:'$d(%d(2)) %d(2)=2 s:'$d(%d(3)) %d(3)=0
              i '$a(%check) d i sqlcode<0 s SQLCODE=sqlcode g %EExit
              . i $g(%vco)'="" d @%vco q:sqlcode<0
              . i $g(%d(0))="" d missing("TicketOrder")
              . q:sqlcode<0
              . i '$$%1^Cinema.TicketOrder.T1(%d(0)) s sqlcode=-104,%msg="Child table references non-existent row in parent table" q
              If '$d(%d(5)) { s %d(5)=$i(^CinemaooTicketItemD) } ElseIf %d(5)>$g(^CinemaooTicketItemD) { If $i(^CinemaooTicketItemD,$zabs(%d(1)-$g(^CinemaooTicketItemD))) {}} ElseIf $d(^CinemaooTicketItemD(subs(9),%d(5))) { s SQLCODE=-119,%msg="'ID' value not unique! A value of "_%d(1)_" already exists for 'Cinema.TicketItem.ID'" g %EExit } s %d(1)=%d(0)_"||"_%d(5),subs(9)=$p(%d(0),"||",1)
              f icol=6 s:'$d(%d(icol)) %d(icol)=""
              i '$a(%check,2) { n %ls i $i(%0CacheLock("Cinema.TicketItem"))>$zu(115,6) { l +^CinemaooTicketItemD:$zu(115,4) l:$t -^CinemaooTicketItemD s %ls=$s($t:2,1:0) } else { l +^CinemaooTicketItemD(subs(9),%d(5)):$zu(115,4) s %ls=$t } s:%ls=2 $e(%check,2)=$c(1) s:%ls=1 $e(%l)=$c(1) i '%ls s SQLCODE=-110,%msg="Unable to acquire lock for "_%oper_" of table 'Cinema.TicketItem' on row with RowID = '"_$g(%d(1))_"'" g %EExit }
              s ^CinemaooTicketItemD(subs(9),%d(5))=$lb($g(%d(2)),$g(%d(3)),$g(%d(4)),%d(0),,%d(6))
              d gunlock TCOMMIT:%tstart&&($zu(115,1)=1)
              s SQLCODE=0 q %d(1) // %insert-end
              Сообщение отредактировано: Ahil -
                Ahil, ты смеешься?
                  А нате от меня боян.
                  ExpandedWrap disabled
                    #include <stdio.h>
                    #include <stdlib.h>
                     
                    #define m(x)(x<0?-1:!!x)
                    #define g tj()-J
                    #define a(x)(x<0?-x:x)
                    #define h(x)((x)<=K?x:N-(x))
                    #define f 9999
                    #define A return
                    #define H printf(
                    #define R double
                    #define U int
                    #define V for
                    #define b else
                    #define u while
                    #define B if
                    U v,w,Y= -1,W,J,p,F,o=f,M,N,K,X,YY,_,P[f],s(); typedef U(*L)(); L q[f]; tj(){
                    U S=m(v)+(m(w)<<K); B(!S)A J; V(v=W+S; v!=J&&!q[v]; v+=S); A v; } k(){ _=K; A
                    v?a(v)>1||w-Y||!q[J]:(w-Y&&(w-Y*2||q[W+Y*(N+1)]|| (J>>K)-K+(Y-1)/ 2))||q[J];
                    } z(){ _=5; A v*w||g; } e(){ _= -2;
                    A(v*v*v-v||w*w*w-w)&&(J-W-2||(W&N)-4||(W>>K!=(Y-1?N:0))||
                    q[W+1]||q[W+2]||q[W+K]!=z||P[W+K]*Y<0); } R VR(){ int PZ=0x7fff;
                    A(R)(rand()&PZ)/(R)PZ; } l(){ _=K+1; A(v*w&&a(v)-a(w))||g; } R UC(){ R i=0,d;
                    u((i+=d=VR())<1.0); A d; } c(){ _= -11; A a(v)-a(w)||g; } I(ur,n,x){ W=ur;
                    J=n; B(P[W]!=Y||P[J]==Y)A J+1; v=(J&N)-(W&N); w=(J>>K)-(W>>K); A
                    q[W]()||(x&&QL(W,J,s)); } TT(W){ v=w=0; A q[W]()+K; } s(){ U j= -1,i; Y= -Y;
                    V(i=0; i<M; ++i){ B(j<0&&P[i]== -Y&&TT(i)&&_== -2) { j=i; i= -1; } b
                    B(j>=0&&!I(i,j,0))A Y= -Y; } A!(Y= -Y); } bb(){ _=1; A a(v*w)-2; } uv(){
                    V(v=0; v<f; ++v){ B(h(v>>K)==0){ U S=h(v&N);
                    q[v]=!S?z:(S==1?bb:(S==2?c:(v&N>K?l:e))); } b B(h(v>>K)==1)q[v]=k; b q[v]=0;
                    P[v]=!!q[v]*(28-v); } } y(){ U G=Y,i; J=0; V(i=0; i<M; ++i){
                    i%8||H"\n%4o ",i); B((Y=P[i]=m(P[i]))&& TT(i))H"%c ",_+93+Y*16); b H"- "); }
                    H"\n    "); do H"%2d",i++&N); u(i&N); Y=G; H"\n"); } O(W,J){
                    B((q[J]=q[W])==k&&h(J>>K)==0)q[J]=l; B(q[W]==e)B(J-W==2)O(J+1,J-1); b
                    B(W-J==2)O(W-1,W+1); P[J]=P[W]; q[W]=0; P[W]=0; } QL(W,J,D)L D; { U
                    HQ=P[J],YX; L AJ=q[J],XY=q[W]; O(W,J); YX=D(); O(J,W); q[J]=AJ; q[W]=XY;
                    P[J]=HQ; A YX; } C(){ U i,j,BZ=0; V(i=0; i<M; ++i){ L Z=q[i]; B(Z){ U
                    r=h(i>>K)+h(i&N),G=Y, S=Z==z?88:(Z==k?11 +r+(P[i]<0?N-(i>>K):(i>>K)):
                    (Z==l?124-((YY<8&&((i&N)!=K|| (i>>K)!=(P[i]>0?0:N)))?M:0):
                    (Z==c?41+r:(Z==e?f-r-r:36+r+r)))); Y=P[i]; V(j=0; j<M;
                    ++j)B(!I(i,j,0))S+=(P[j]?5:1); BZ+=G==Y?S:-S; Y=G; } }
                    B(!(++X&M-1))write(1,".",1); A BZ; } PX(){ U i,Q=0,XP=0,JZ=M*M,E= -f,t,S=o;
                    B(!F--)A++F+C(); V(i=0; i<JZ; ++i)B(!I(i>>K+K,i&M-1,1)){ Y= -Y; o= -E; t=
                    -QL(i>>K+K,i&M-1,PX); Y= -Y; B(t>E){ ++XP; Q=i; E=t; B(E>=S) A++F,E; } }
                    B(!XP)E=s()?-f+1:0; p=Q; A++F,E; } RZ(){ U i,j,T=0; V(; ; ){ y(); o=f; do{
                    H"\n%d %d %d %s ",X,T,C(),s()?"!":">"); fflush(stdout); }
                    u(scanf("%o%o",&i,&j)!=2||I(i,j,1)); O(i,j); y(); X=0; ++YY; Y= -Y; T=PX();
                    i=p>>(K<<1); j=p&(M-1); B(I(i,j,1)){ H"Rats!\n"); A; } O(i,j); Y= -Y;
                    B(T>M*M)H"\nHar har.\n"); } } main(ac,av)char**av; { long time(),j=time(&j);
                    R i=0; srand((U)j); V(M=0; M<=f; ++M)i+=UC(); M=i/100; B(M&3)++M; B(M&1)--M;
                    V(N=1; N*N<M; ++N); K= --N/2; F=ac>1?atoi(av[1]):2; uv(); RZ(); }
                    Qraizer, через обфускатор пропускали? :)
                      А я с Сатурна, но тут нет такого варианта ответа :rolleyes:
                        Цитата Transformer-V @
                        Душа программы код, а не комментарии. И чем лучше код, тем она душевнее, а комментарий может быть много, а толка никакого.

                        А может быть много кода - а толка никакого!
                        Если не удается написать четкие комментарии к коду, значит код никуда не годится!
                          Цитата
                          Если не удается написать четкие комментарии к коду, значит код никуда не годится!

                          Значит код и так прекрасно самодокументирован. :D
                            Цитата Konigsberg @
                            Qraizer, через обфускатор пропускали?
                            Понятия не имею. Это победитель соревнования. Какого года вот, не помню. Пытался запускать?
                              Душа программы - качественное проектирование и чистое написание кода.

                              Код, который читается легко комментировать нет смысла.
                              Я обычно комментирую участки, которые можно неоднозначно понять, или участки, сложные для понимания.
                                Цитата Hsilgos @
                                Душа программы - качественное проектирование и чистое написание кода.

                                Код, который читается легко комментировать нет смысла.
                                Я обычно комментирую участки, которые можно неоднозначно понять, или участки, сложные для понимания.

                                Поддерживаю
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,1027 ]   [ 17 queries used ]   [ Generated: 28.04.24, 06:23 GMT ]