 .     
 . 


  ()
 ,       ,    :         .     .       .

       (      ),    ,   ,     ,  ,       λ.         :          .    ,   ,       .



  ios.epub   .





 

 .     



Robert . Martin

The Clean Coder:

A Code of Conduct for Professional Programmers



 Prentice Hall, Inc., 2011

    ,       , 2012




 

( ,   !)










    ? ,     ,     .  !   ,        .

  .    42[1 -  !]       .  .    .    , ,      .     ,     .[2 -    .]        / ,      .    COBOL, FORTRAN, BAL, PDP-8, PDP-11, C, C++, Java, Ruby, Smalltalk     .     ,      .      .

     ,        .      , ,   ,   .

  ,      ?          .  ,           ,         .

   1969 .    17 .        ASC       . (,    .          ,    : !  .     .)    ,   ,       IBM,          .      :    .

             Easycoder.[3 -    Honeywell H200,  Autocoder   IBM 1401.]       ,             . ,       Autocoder   ,    .

             .      1    1    .          .

   ,         . ,    50     25   25 ,        .    .        ;  ,    200 ,     .        (,         )        .

           ,   25   80 .     .      .   6      .      10,         .

    .      ,            .        ,        ,   ,    .

         .          .      .   .              .

        ,        (  ).    ,            .    ,     .

       .        . (,        !)

    ,     .           ,      .   , -   ,   ,       .    ,    ,          .       ,      .

      ,   ,  -   ,      .         ,   .  ,        .  .

       ,      . ,  ASC ,      17- .

,    ASC    .            ASC   .       ,   .       ,    ,        ,    .

    1970 .        ,   , ,   .      ,      .      COBOL, Fortran, PL/1, PDP-8    IBM 360.            .

             ASC.       ,     19 ,             ,   .    Varian 620i   -,     PDP-8,   ,     16-    .    .

       . ,   .    ,  ,  /,    ,                .      8 ,   7080        .    $7200  .

    .    .

  ,     .   ,               2%.    .            .

 ,   ,    .             .         .

    ,     .   19 ,     .         ,    .          ,    .  ,     ,       .    .

     ,         -   .         .       ,        .            .     .

      ,         ,  ,               .  ,  ,    ,  ,     ,    .  ,               ,  .

      ,     .        .       .   !      $6800  ,      .

       ,             .      .   .      ,     ,      .

,  ,        ?  .       ,     .                       .        ,    , ,   ,   .      ,      .       ,       .    , -       .

          ,       ,      .




 


 ,         comp@piter.com ( ,  ).

     !

        -  http://www.piter.com.




1





, , .        ,   ,    .      ,      ! !

,  -








,     ?         :  ! ,       ,         ,      .    , ?




  


     . ,           ,      . ,        :   ,       .

   .             .    ,      .     ,      .

      ,      $10 000?   , :  ,     .        $10 000![4 - , ,     .]

,       ,    , ?       .  ,     .         .







  , ?        ;       .

 ,       ,         .

 1979      Teradyne.       ,  -        .  -         300     ,   .     .

     ,     .      100 000    .                ,     .        ,            .  ,     .

      :  -         ,    .           .          ,        .

           . 뻠   :          .   ,     .

         ,    .         .        ,       .

     ,    .   ,     ,     ,     .              ,      .     ,         ,      .          ,      .

     .  ,      ,      .        .       ,          .

   ,      .    ,    .   .       ,      ,        .

    ,     . ,            .   ,     .  ,    ,    ,         .          :            .

   ,     .    .   .     ( , ),    .            ,    .     ,             .

     ,   ,     .  (    ) ,      .     ,       :    .  .

,  ,          .     ,  ,     .        ,        .     :  ,              .   ,   ,       ,       .




 :  



,      ?     ,      ?    ,             ,        ?

    ?            .  ,     .




  


,  ,    .       ,        ,      .         .       .         ,    ,   .

    . ,            .

 !   .    ,       .

,  .    ,    .  ,      .    ,        ,        .         ,         ?

 ,      ?

,   ,       .  ,        ,  ,       .     ,        ,   .

          ,    . ,   ,    .  ,  .           .               .     ,     ,        .




     


         ,     ,      .             .      ? ,      !

        .    ,          .           .       .

    ,       ,      .    ,              .     ,       .     ,      , .      .

     ? ,    ,   ,       ,   -  ,    .

    (    )  ,    ,     ,       .




     ,    


 ,    ? .  .    .   ,   .      !

,  ,         .   ,      ,   .      ,    ?  !    .   ,      ,      .

        ?       ?  ! .  .

,   100%   ?  .   ,  .        . .

,  ? ?   ,   ,    .   ,    ,    ,   .            .

          FitNesse.      FitNesse  60K , 26     2000+  .   Emma,   2000    90% .   ?   Emma     !   ,    .    100%? , 100%   .

      ? ,   ,      . ,        .            ,    .

        (TDD, Test Driven Development),          .




  


    FitNesse       .    ,   .         ,        .

, -   FitNesse         .   ,  FitNesse   ,     .

,    ,           .   ,           ,           . ,        ,        .




  


  ,         .     .  ,    .

         .     ,   ,       ,     .

       .

 ,        . ,  -    ,   ,    .             .      ,       .

    ,   ,    ,   .[5 - Robert C. Martin, Principles, Patterns, and Practices of Agile Software Development, Upper Saddle River, NJ: Prentice Hall, 2002.]

              .    ,    :   ,     ,     !

   ,       ?         !      ,  ,     ,     .

    ? !           .        .

     .      :    ,    .      ,     .

         .  ,        . !     ,  .      ,     ,     .

         ?       !     ?      .

    .       ,   100% ,           ,        .   ,      ?   .

        ,      ,  .          .        ,          .    switch          .  ,      ,              .




 



     .           .     ,       .      .   ,      !

     ,      . ,    .    ,     !        , ,     .

         .          ,    .         ,      .          .

        .       40-  .  40         ,     .

 60    .  40     ,   20  .   20    , ,       .

  :     ?   ?       ?

       .    20    .              90            .

  .   168 . 40   ,  20   .  108. 56   ,     52. ,        .    ,      .         .

,  ,             . !   20        ,    .

    .  ,   ,      .          20    .  :  20    .    ,     .

 ,        . ,      . ,    -    ,        .   20     ,    .  20    !




  


 ,    ?     ?        ?  .     ,     ?      ?     ?     ?

  50        , , ,   .     ? ,    ,          .

    ?       ,     ?     : ,      .   ,         . ,      24    .  ,   ,    .   ,      ,     .    ,      if  while,   50  .  .   .

      .      50   .     ,  .   , ,    .    ,     ,    ,      .

         50      .  ,      .   :       .

    ,      .

 .       24              Pattern-Oriented Software Architecture.

 .     SOLID       .

.      XP, Scrum, [6 -   . . .]  (Lean), Kanban,  ,     .

.        (TDD), - ,  ,     .

.      UML, DFD,  ,  ,  , -   .




 


      ,           ,     .  ,          .  ,         ,     .  ,               .

    ,   ,          ?       ,        ?     ,       ?

 , , , .      .     .  ,       .   . NET   Java.     Java   Ruby.     C   Lisp.       ,  Prolog  Forth!







 .      ,          .         .      ,   .   ,                 .

     ?       .      .     ?   ,    .    ?  ,     ,   .      ,              .




  .


   .

   ,     (https://www.litres.ru/robert-s-martin/idealnyy-programmist-kak-stat-professionalom-razrabotki-po/)  .

      Visa, MasterCard, Maestro,    ,   ,     ,  PayPal, WebMoney, ., QIWI ,       .



notes








1


 !




2


   .




3


   Honeywell H200,  Autocoder   IBM 1401.




4


, ,     .




5


Robert C. Martin, Principles, Patterns, and Practices of Agile Software Development, Upper Saddle River, NJ: Prentice Hall, 2002.




6


  . . .


