Какой CodeStyle вы используете при написании (форматировании) кода MQL4/5 для себя, любимого? - страница 2

 
Alexey Volchanskiy:

Угу, а некоторые пишут double d78sfgdg5565 и через пару месяцев мучительно пытаются вспомнить, что же я тут хотел сказать и насколько чист был герыч в этот момент )

А если серьезно, тут последнее время идут дискуссии о совместных проектах на MQL5. Если идея заиграет, будет забавно посмотреть на столкновение разных кодесталов и драчки по этому поводу ))

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

Будут войны, зуб даю.

Недавно наткнулся в котобазе на шедевр стиля - https://www.mql5.com/ru/code/18140 ! Вот так надо всех заставить писать, квадратненько ))) все при деле, в коде разбираются, а не вотку пьянствуют ))
 

Алкоголь. MS крупный разработчик ПО, поэтому их мнение можно принять во внимание и согласится как с разумным:

https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/inside-a-program/coding-conventions .

http://oss.fruct.org/wiki/Соглашения_о_стиле_кодирования .

Автоматическое форматирование http://astyle.sourceforge.net/

 
Astyle можно настроить на любой стиль. Сделал bat-файл для этого
 
SeriousRacoon:
Недавно наткнулся в котобазе на шедевр стиля - https://www.mql5.com/ru/code/18140 ! Вот так надо всех заставить писать, квадратненько ))) все при деле, в коде разбираются, а не вотку пьянствуют ))

А че, для женщин главное красивенько! Код читается тяжело.

 
STARIJ:
Astyle можно настроить на любой стиль. Сделал bat-файл для этого

Я в VS засовывал особо Пикассовый код, но они сейчас в С++ визуализацию еще под_убили. Как писал Ренат, в угоду Visual Assist

Ну ничего, Бог проггерам в помощь ))

А вот по прогам, надо опять Astyle скачать, поюзать. Раньше был бесплатный, посмотрим. Была еще одна замечательная прога по форматированию, название точно не помню, что-то типа Ninja format (или style  или как-то еще). Но работала только под Windows XP, на семерке перестала запускаться. А там все стили вручную настраивались, просто чудо. Видно разработчики с выходом семеры сделали харакири (( 

Visual Assist - a Visual Studio extension by Whole Tomato Software
  • www.wholetomato.com
Visual Assist is a Visual Studio extension - a productivity tool for refactoring, reading, writing, navigating and generating C / C++ / C# code.
 
Alexey Volchanskiy:

Я в VS засовывал особо Пикассовый код, но они сейчас в С++ визуализацию еще под_убили. Как писал Ренат, в угоду Visual Assist

Ну ничего, Бог проггерам в помощь ))

А вот по прогам, надо опять Astyle скачать, поюзать. Раньше был бесплатный, посмотрим. Была еще одна замечательная прога по форматированию, название точно не помню, что-то типа Ninja format (или style  или как-то еще). Но работала только под Windows XP, на семерке перестала запускаться. А там все стили вручную настраивались, просто чудо. Видно разработчики с выходом семеры сделали харакири (( 

Я пользую Uncrustify - вагон настроек, крайне гибок. Консольный, но все его опции есть в UniversalIndentGUI - в нём можно сделать конфиг для анкрастифая.
 
SeriousRacoon:
Я пользую Uncrustify - вагон настроек, крайне гибок. Консольный, но все его опции есть в UniversalIndentGUI - в нём можно сделать конфиг для анкрастифая.

Спасибо, посмотрю

 

Мы дети, вот крутой кодестайл ))) Это с конкурса запутанного кода https://habrahabr.ru/post/143072/


                                       /*
                                      +
                                     +
                                    +
                                    +
                                    [         >i>n[t
                                     */   #include<stdio.h>
                        /*2w0,1m2,]_<n+a m+o>r>i>=>(['0n1'0)1;
                     */int/**/main(int/**/n,char**m){FILE*p,*q;int        A,k,a,r,i/*
                   #uinndcelfu_dset<rsitcdti_oa.nhs>i/_*/;char*d="P%"   "d\n%d\40%d"/**/
                 "\n%d\n\00wb+",b[1024],y[]="yuriyurarararayuruyuri*daijiken**akkari~n**"
          "/y*u*k/riin<ty(uyr)g,aur,arr[a1r2a82*y2*/u*r{uyu}riOcyurhiyua**rrar+*arayra*="
       "yuruyurwiyuriyurara'rariayuruyuriyuriyu>rarararayuruy9uriyu3riyurar_aBrMaPrOaWy^?"
      "*]/f]`;hvroai<dp/f*i*s/<ii(f)a{tpguat<cahfaurh(+uf)a;f}vivn+tf/g*`*w/jmaa+i`ni("/**
     */"i+k[>+b+i>++b++>l[rb";int/**/u;for(i=0;i<101;i++)y[i*2]^="~hktrvg~dmG*eoa+%squ#l2"
     ":(wn\"1l))v?wM353{/Y;lgcGp`vedllwudvOK`cct~[|ju {stkjalor(stwvne\"gt\"yogYURUYURI"[
     i]^y[i*2+1]^4;/*!*/p=(n>1&&(m[1][0]-'-'||m[1][1]  !='\0'))?fopen(m[1],y+298):stdin;
      /*y/riynrt~(^w^)],]c+h+a+r+*+*[n>)+{>f+o<r<(-m]    =<2<5<64;}-]-(m+;yry[rm*])/[*
       */q=(n<3||!(m[2][0]-'-'||m[2][1]))?stdout /*]{     }[*/:fopen(m[2],d+14);if(!p||/*
       "]<<*-]>y++>u>>+r >+u+++y>--u---r>++i+++"  <)<      ;[>-m-.>a-.-i.++n.>[(w)*/!q/**/)
    return+printf("Can "  "not\x20open\40%s\40"    ""       "for\40%sing\n",m[!p?1:2],!p?/*
  o=82]5<<+(+3+1+&.(+  m  +-+1.)<)<|<|.6>4>-+(>    m-        &-1.9-2-)-|-|.28>-w-?-m.:>([28+
 */"read":"writ");for  (   a=k=u= 0;y[u];  u=2    +u){y[k++   ]=y[u];}if((a=fread(b,1,1024/*
,mY/R*Y"R*/,p/*U*/)/*          R*/ )>/*U{  */   2&& b/*Y*/[0]/*U*/=='P' &&4==/*"y*r/y)r\}
*/sscanf(b,d,&k,& A,&           i,  &r)&&        !   (k-6&&k -5)&&r==255){u=A;if(n>3){/*
]&<1<6<?<m.-+1>3> +:+ .1>3+++     .   -m-)      -;.u+=++.1<0< <; f<o<r<(.;<([m(=)/8*/
u++;i++;}fprintf   (q,    d,k,           u      >>1,i>>1,r);u  = k-5?8:4;k=3;}else
  /*]>*/{(u)=/*{   p> >u  >t>-]s                >++(.yryr*/+(    n+14>17)?8/4:8*5/
     4;}for(r=i=0  ;  ;){u*=6;u+=                (n>3?1:0);if    (y[u]&01)fputc(/*
      <g-e<t.c>h.a r  -(-).)8+<1.                 >;+i.(<)<     <)+{+i.f>([180*/1*
      (r),q);if(y[u   ]&16)k=A;if                               (y[u]&2)k--;if(i/*
      ("^w^NAMORI; {   I*/==a/*"                               )*/){/**/i=a=(u)*11
       &255;if(1&&0>=     (a=                                 fread(b,1,1024,p))&&
        ")]i>(w)-;} {                                         /i-f-(-m--M1-0.)<{"
         [ 8]==59/* */                                       )break;i=0;}r=b[i++]
            ;u+=(/**>>                                     *..</<<<)<[[;]**/+8&*
            (y+u))?(10-              r?4:2):(y[u]         &4)?(k?2:4):2;u=y[u/*
             49;7i\(w)/;}             y}ru\=*ri[        ,mc]o;n}trientuu ren (
             */]-(int)'`';}             fclose(          p);k= +fclose( q);
              /*] <*.na/m*o{ri{                       d;^w^;}  }^_^}}
               "   */   return  k-                -1+   /*\'   '-`*/
                     (   -/*}/   */0x01        );       {;{    }}
                            ;           /*^w^*/        ;}
Итоги 20-го международного конкурса непонятного кода на C
Итоги 20-го международного конкурса непонятного кода на C
  • 1930.04.12
  • habrahabr.ru
Организаторы IOCCC (Международный конкурс на самый непонятный код C) нажали кнопку «турбо». Если результаты прошлого конкурса опубликовали спустя четыре года после проведения, теперь прошло всего два месяца — и вот они. Участвовать в конкурсе могут готовые программы размером меньше 4096 байт, при этом количество значимых символов, без учёта...
 
//+------------------------------------------------------------------+

//| RefreshTable                                                     |

//| Функция должна при необходимости обновлять данные о текущих      |

//| состояниях сигналов, менять текст и цвет в ячейках.              |

//+------------------------------------------------------------------+

void RefreshTable(){

  bool need_update=false;

  int sig_dir=0;

  CSignBase* filt;

  int tmp_variable;

  for(int i=0; i<13; i++){

    //проверим направление сигнала

    filt=sig.Filter(i);

    sig_dir=0;

    if(filt.Buy(tmp_variable)>filt.Sell(tmp_variable)) sig_dir=1;

    if(filt.Buy(tmp_variable)<filt.Sell(tmp_variable)) sig_dir=-1;

    if( sig_dir>0 && gui.getCol(4,i)!=clrDarkGreen ){

      gui.setVal(4,i,DoubleToString(rates.Tick().bid,rates.Digits()));

      gui.setCol(4,i,clrDarkGreen);

      gui.setVal(5,i,TimeToString(TimeCurrent()));

      gui.setCol(5,i,clrDarkGreen);

      need_update=true;

      }

    if( sig_dir==0 && gui.getCol(4,i)!=clrBlack ){

      gui.setVal(4,i,"-----------");

      gui.setCol(4,i,clrDarkGreen);

      gui.setVal(5,i,"-----------");

      gui.setCol(5,i,clrDarkGreen);

      need_update=true;

      }

    if( sig_dir<0 && gui.getCol(4,i)!=clrDarkRed ){

      gui.setVal(4,i,DoubleToString(rates.Tick().bid,rates.Digits()));

      gui.setCol(4,i,clrDarkRed);

      gui.setVal(5,i,TimeToString(TimeCurrent()));

      gui.setCol(5,i,clrDarkRed);

      need_update=true;

      }

    }

    gui.UpdateTable(need_update);

  }

Пишу на ноуте. Места не хватает катастраффисськи.

Мне было бы интересно еще опрос сделать - кто использует русский язык для имен переменных. Сталкивался в чужом коде, но сам не использовал.

 
Artem Virskiy:

Пишу на ноуте. Места не хватает катастраффисськи.

Мне было бы интересно еще опрос сделать - кто использует русский язык для имен переменных. Сталкивался в чужом коде, но сам не использовал.


Пожалуйста вставляйте код правильно: Правильно вставляем код на форуме

Причина обращения: