SlideShare uma empresa Scribd logo
1 de 11
Baixar para ler offline
?



                                                                                     .                                                                    /
                    ,                                                                                                                             ,
                                                                                                                              .‘                                                  ’
                                       .
                                                                                                                                                                              ,
                                                                                                                                                  .
                                                 /
                                        .                                                                ,                                                    ,                       ,
                                (Extreme Programming                         XP)                                  .
                                                                                                                                                                  ,
                                                                                                                                              .
                                                                                                                      .                   (           )
                                   (           )                                                                          .
                                                                                                                                  .                                                       ,
                                                                                                                                                                          .
                                                                                                                                                                                                   ,
                                                                                                     .
            (               )                                           .



                                                           1.
                                                       .                                                                      ,                                               ,
                                           .                                                     “                                                                                            !”
                    .
                                                                                                                                      .
    ‘       ’                                                                                            .                                                ‘           ’
.
                                                            .

                                                                             .
        ,                                                                                                                                 ,
                ,
                    ?
                                                                    .
                                                                                                                                                  ,
        ‘    ’(construct)                                                        (                                                                                                            .
    (Jean Piaget)                                      ,                                             MIT
           ).                                                                            ,
        .
                                                   .
                                                                                                                                                  ?
                                       .
                    ‘                                           ’            ‘                               ’(
                                                                ,                                                                                                                     )
                            ?                                                                                                                         ?
                        ,                                                                                             .
                                                                .
                                                                        ,“                   ,                                                                                                ,
                                                                                                                                                      ?”                                      .
                                                                                                                                                              ‘           ’
                                                                                     ,
        .                                                                                                     ?
2.
                          ,
                                                                                                 .                                                              (pseudo-code)
                                                                        .                                    (C,                                )                   (LISP, Scheme,
Haskell),                     (           ,                         )                                                                          .
                                                    .
              .

                                                                                                                                  .
                                                                                                         ,   ‘                                 ’                    ‘                               ’
                                                        ,                                            ,
                  ,                                                                                      .
  ,                                                                                                                                                                                                 .
                                                                                                                          ,
                                                                .

  1.
  2.
  3.
  4.                                  (correctness)


                                                                                                                 .
      .                                                                                                                                                                             ,

                                                .                                                                    .”                                                                     ?”

                      .
                                                                                     .                                                              ‘                       ’
          .                                                                                                                                                                             .
                                                                                                                                                                                .

                                  .                                                                                                                                                         .
                                                    .
                                                                                 ,                           “,                                                                                 ”
                                                                                                                                                                .
                                                                                                                     ,            ‘                     ’
      .
                                      .
                                                                                 ,                                                                      ,
                      .                       (ad hoc)
          .                                                                                          .
                                                                                         ,                                                                  .
                                                            .                                                        .
                                                        ,                                                                                  .
                          .                                                                                                           .   ,
                                                                                                                                                                                                .
                                                                                             .


                                                                            3.

                                      .                                                                                       .                                         ,           (concrete)
                  (abstract)                                .                                                                                      . ‘be-                           to-      ’



                                                                                                     2
.                                                                                                            (
                                                                                      )                                      , ACM               ICPC(International
Collegiate Programming Contest:                                                                                     )
                                                                                                                                                       .
      “                                                           ”                                                                                .
                                                                  ,                                                                                    ,
                                                                                                .


                                                                                          4.
                                            ,                                                                                                                      .
                                                                                                                             .
                     .                            (E. W. Dijkstra)      (N. Wirth) ’
   ’(Stepwise Refinement)             .          Program Development by Stepwise Refinement (1971,
CACM 14.4, http://www.acm.org/classics/dec95)                           .
                                                       (                  ’goto        ’
                ).               Stepwise Program Construction (Selected Writings on Computing: A
Personal Perspective, Springer-Verlag, 1982,http://www.cs.utexas.edu/users/EWD/ewd02xx/EWD227.
PDF                .
                                                      .
                       .                                                   .
        (loop invariant)                            .                        .
                         .  (Udi Manber)                   ( Introduction to Algorithms: A Creative
Approach )                                                                       .
        .                           A Discipline of Programming                (Gries)   The Science
of Programming                 .                         .
      .


                                                                                                                    5.
                                                                                      .                                            ‘        ’
                            .                                                                                                    (Robert Floyd)
               (The Paradigms of Programming, 1978)                                                     .
                                      .                                                                                                  .
                                                                                                                                                                       .
                                                                      .
                                                    ‘             ’                                 .                                              ,
                                                                                                .
                                                .                             .                                                              ,
                                ,                                                               ?                                                                      .

  .                                                                                                                                                            .
                                    ‘                         ’                                                                      .
               ,                                        ,                                                                                                  .
                                                                                                            .
          .‘                ’                                                 .
                                                                                               (Robert W. Floyd)                     1978
                                        .

                                                                                                        ,
                                                        .                                           ,
                   .                                        (insight)                                                    .
                                                                                           .                    ,
                                            .
                                                                          .                                                                                        .
                                                                                           .
                        .                   (learn)                                        (unlearn)                             .


                                                                                  3
(George Polya)                        How
to Solve it                                                        :
                                                                   ,
                                                                            .
                                                             .
                                                                                                                                               .
             ACM           ICPC                                                                                                                    .
                                                                                                  ,
                           .“                    .                                                                                                                      .
                                                                                            ?”
                                                                                            .
                                        ,                                                                                     .
                                                                                                                          .                ,
                  ,                                                    .
              .
                                             CLR(Introduction to Algorithms, Thomas H. Cormen, Charles E. Leiserson,
and Ronald L. Rivest)                                .                                             (Jon Bentley)
  Programming Pearls                                        .
                                                                 .                                            .
                                                                  .


                                                                                                              6.
         ,            2001          11                                                                                                                                  .
        OOP
                                                         .
                  .
                      DP                    RF                                              .                                                                   ,
                                                                                                 . DP
                  . RF                                           (Bad Smell)                                                                                . RF
                                                                        .
                                                 .
                                                                                                                                                                    .
                                    .                                                                                              GoF
                                                                                        .                                         (    )                (           )
                                                                                                                      (       )                .
                                                                                                                  .                                                                  ?
‘        ’                           .                                                                        ,
                                      .                                                           (                                                    ) GoF
                                    .


                                                                                                                                         7.
                                                                                                                                                                            ,
                                                                                                                                   (Mechanics:
                                     )                                                                .                                                                         (Code
Smell)                              -                                           .
                                ,                                                                                                    .
                                                                                                                      .
                                                                           .                                                                                                         .
                                                                            .                                                 TDD(Test Driven Development)
                                                     .                              ,                                                      .
                                                                                                          ,
    (                                                                                             )                                                         .                    ,

                                                                                            4
.
  .                                                  .                                                                     ,
                                                                                                      .                                                                                           .
                                     ,                                                                 ‘                           ’                                                      .           ,
                                                         .                       ‘       ’                                                               .
                                             .
                                                                                 (                                                 )
  (                                                      )                                        .
                            .
                                                                                                                                                                                  .
    OAOO(Once And Only Once:                                                                                                                                      )                                                   .
    OAOO             -                                                                                                                                                                                    .
    ‘                ’                                                                                     .                                                                                      -
                .                                                                                                              3              (                                                               3
  )                  .                                                                                                                                                    .
                        ,                                                                                                                                                     .

  1.                                         :                                           2001              11
  2.                            :                                                                                                                            (                                                    )
                    .                                                                                                                                                 .
  3. OAOO                            : OAOO                                                                                ,                                                      .
                                                                 .                                                                                           . GoF
                                                                                                                                             .

  4.                            (Law of Demeter)                                              :                                                                                           .
                                                                                                               ?
  5.       (Pair)                                :                                                    .                                                       ,                                                       .
           ,                                                                                                       ,       3                                                                          .
                                                                                                                                                 .

  6. ‘          ’           ‘                ’                       :                                                                                        .                                                               ?

                        ,                                                                                                      .                                                  (Collaborative Learn-
ing)                                     .                                                                                                           ,
                                             .               ,
            .
  .                                                                                          .
           (Tacit Knowledge)                                             .                                                                                                ,
       ,                   ,                                                                                                           ,                                                              ,
                        ,                                                                                                                                                         .
                   .                                                                                                                                                      .
                                                                                                               .                           (Apprenticeship)                               .
                                                 .                                                                         .                                                     ,
                                                                             .                                                                                 .
                                      .                                                                                                                      (Jean Lave, Etienne Wenger)
  Situated Learning : Legitimate Peripheral Participation                                                                                                            .
                                    .                                                                                                                                                                                         .
                                                       .
          ,     (            )
                .                                                                                                                                                                     .
                     ,                                     .
                                  .                                                                                                                               .
           .                                                                                                                                                                                  .
  .                            2001 12                    XP                                                                                                                                          .
                                                  ,‘                                                                                                                              ’
                                                                                                                                                                                              (           )               ‘
                    (           ),                                               (       ),                                            (    )’                                                        .
                                                                                     ?


                                                                                                                   5
.
                                   .
                                                       ,
                                                                                                           .


                                                                                          8.
                                                                                                                                                   ‘   ’
        .                                                                                             .                                                                        .

   •                                       ,                          .
   •                                                                                              .
                                                                                                                                   .
   •                                                                                                                                                                   .
                                                                  .                       ‘                                                                    ’
              .
   •                                                                                                  .        ,
                               .
   •                                                                                                                       .                                   (Toy Prob-
       lem)                .

                                                               (Christopher Alexander,                                                                 )
                                                                        .
                                                                                  .                                                                The Timeless Way of
Building                                                        ?

                                                                                      .
                                                   .

                       ,                                   .
                                                                                                                                                           .
                               ,                                                                                               ,
                                                                                                                                               .
                                                                              (Betty Edwards)                                                           Drawing on the
Right Side of the Brain                                                                .
                    .
                                               .                                                                                                                           .
                           . 1000                                                                                                      ,
                                                   .                                                  .“                                                                           !
                  !”                   .
        .
                  ‘’                                                              .


                                                                                                                                   9.
                                                       ,                                                                                       .
                                                                                                                                                               .
                                                                                                                   .
              .
             “                                                                ”
                                                                                                                           .
                                                                                                           ,”          !                   ,
        !”                    ,                                                                                                                .
                  (Lev Vygotsky)                                                              .                                                                                    ,
                                                                                                                                                                   .

                                                                          6
’                             ’
                                                                                                                                                           .
                                                                                                                                                               .           ’’
                                      .                                                    ,

                             ’                ’                                            ,                                                                                     .
                                                                                                                                                                   .
    ,                                                                                                                                                              .
                                                                                                                                   .
                                          ,
                                                      ,
                   (GoF                                                                                                                                                          )
                    .                                                                                        .
                                                                     .
        GoF                                               (Ralph Johnson)                                                              .

                 [GoF]                        ,
                   [                          ]                                                                                                            .
                                                              .
                                                                                                                       .


                                                          .
    .
             .


                                                                                                           10.
                                                                                                                 .                                                                   .
                                                                      .
                                 .‘           +                   +            ’                                                               ,   ‘I love you’                  ‘I hate
you’                                                                                                                                                     .
                                                                                               ,
                                                                                                                           .
                    .
        DP                                        .                                                                                                                        ,
                                                          .               GoF                                                      (John Vlissides)
             .

                                                                                                   ,       GoF                                                         .
                                                                                                                                                   .                       GoF
                                                                          .
                                                                                           .                                                       !
                                                                                                                     (immerse)             .
                         .                                                 .
                         .                                                                 .
                         .                                                                                                         .
                                                                                       .
                     .                    GoF                                                                                                                  .

                                                                                                                                                                   .
                        , DP                                      DP                                                                                   .

                                                                                                                                                           ’                             ’
                    .

                                                                  .                                                            ,
“                                                                                          ”                                           . GoF



                                                                                                       7
“                                                                               ,                                   ”
  .
              ‘                        ’                                                                     .              ,
                      (Joshua Kerievsky)                                      A Learning Guide To Design Patterns http://www.
industriallogic.com/papers/learning.html                                                  .
                                                                             Knowledge Hydrant http://www.industriallogic.
com/papers/khdraft.pdf                                                                  .
                      .
   LG2DP( A Learning Guide To Design Patterns )                                                                 DP
                                        . DP                                                                                                           .
                             . sorry                                                             remorseful
            .                                                                                                                                      .
           (Proximal Learning)          .                                                                                             . LG2DP
                                    .
                                                                                                                .

                                                                                                          ,                   ,                ,
                                                      .                                                         ,
                                                                                                      .


                                                                                                                          11.
                   GoF DP                                                                                                         .
                     . DP                                                                 .
                                                                              .
                                                                      , DP
                                   .             Smalltalk Best Practice Patterns
       .                                          .
                                                                 .
          .                                     OAOO
                                       .                        (Overengineering)
  ,                              .                            Stop Over-Engineering! (Software
Development Magazine, Apr 2002, http://www.sdmagazine.com/documents/s=7032/sdm0204b/0204b.
htm                  .                                                                   .
    1980                                                          .
                                              ,                     ,
                                     .      (James Coplien)
                                   .

(representation)                                                         .                                            ,
                       .                                      ‘                   ’                                                     .
                                                               .                                              , C++                         ,
                               .               ‘              ’                                   (                                          (Javarian)
            .                                       (barbarian)                                   ).   ‘
  ’                                                                          Diversify http://www.research.ibm.com/people/v/
vlis/pubs/gurus-99.pdf                                                       .                                    ’        ’
                                                          .                       (implementation)       (intent)
                                   ,
                           .
                                       DP                          GoF                        Design Patterns Smalltalk Companion
                                         .                                                     .                              (
                                               ),                                                             .
          ,                                                                                                    .,
                                                                         .                               .
                   ‘                       ’                                                           .          “
                           ”                                                                                            .




                                                                                  8
12.
                                                                   .

    •         Design Patterns Explained (Shalloway, Trott):                                   DP
    •         Design Patterns Java Workbook (Steven John Metsker): DPE
                                                               .
                                                                                                                    .
    •         Refactoring (Martin Fowler): DP                                                                                     (
                                  )
    •         Design Patterns :               .
    •         Design Patterns Smalltalk Companion : GoF                                                                 DPSC

    •         Pattern Hatching (John Vlissides): DP                                   .                                           .
    •         Smalltalk Best Practice Patterns (Kent Beck):                                                     .                               .                   .
    •         Pattern Languages of Program Design                  1,2,3,4:


    •         Pattern-Oriented Software Architecture                   1,2:                                             .2
                               .
    •         Concurrent Programming in Java (Doug Lea):                                                                                                        .
    •         Patterns of Software (Richard Gabriel):                                                                                 .

    • Analysis Patterns (Martin Fowler):                                                                   .
                       .
    •          A Timeless Way of Building (Christopher Alexander):
               .                          .‘    ’(‘    ’                                                                                                The Nature
            of Order ).
    •         A Pattern Language (Christopher Alexander):                                                                                  .
    •         Problem Frames (Michael Jackson): DP                                (solution)
                             .                                                                                                                           .

    DP                                , DPE           DPJW    RF                                                                  RF
                          (                                                                                                                                 .
                                                  ,                                                   ).                                  GoF           DPSC
                              .                                                   .                            SBPP
                  .                                                                           DP                             SBPP
.
                                      POSA            PLOPD
        .                                                                                     .
                                       .
                                                                                                                         (
              “                                                               ”                                                                         ).
                                                          ‘   ’                                       .                                                             ,
                                                  ,                                                                      .
                                                                                                                                                        .“
                      ”                               .                                                                                             ,
                                                  .       ‘OOP                                                                ’       ‘
                                  ’                                                           .
                              .
                                                                                                           .
                                                                                          .
        .                                                                                         .


                                                                       9
XP Explained
                                                  XP                                                                        .
         XP                              .                   XP                                XP                                                 .
                   XP                       ,                                                             .
                                    .                                   ‘     ’
               ,                                                                                   XP
                        .                                                         (XP               ,                                 ‘
 ’                                         ).


                                                                        13.
     XP                                                                                    (       2001        12
XP                 ).

     •     XP Explained (Kent Beck): XP
     •     XP Installed (Ron Jeffries et al): C3                                        ,
     •     Planning XP (Kent Beck, Martin Fowler):                                 (           ,              )
     •     Refactoring (Martin Fowler):
     •     XP Applied :
     •     XP Explored :                              XP

                XPI         XPX                      . XPE
              (2001            11                                 ).                                                              .

     •     The Timeless Way of Building :                                                           .                       (On-site Cus-
         tomer),         (Piecemeal Growth),                (Communication)                                                          .
     •     XP in Practice (Robert C. Martin            ):                                                                             XP
                         .        (                                ).
     •     XP Examined : XP
     •     Peopleware (Tom DeMarco):
     •     Adaptive Software Development (Jim Highsmith):                                                           .                         .
     •     Surviving Object-Oriented Projects (Alistair Cockburn):                                            OO


     •     Software Project Survival Guide (Steve McConnell):                                           SE              .
     •     The Psychology of Computer Programming (Gerald M. Weinberg):
                 .                                                    (Egoless Programming)
                    .
     •     Agile Software Development (Alistair Cockburn):
     •     Software Craftsmanship (Pete McBreen):
     •    Agile Software Development with SCRUM (Schwaber Ken):                                               (Scalability)
         XP+SCRUM                               .
     •     A Practical Guide to eXtreme Programming (David Astels ):
                                 .           . XPP                .
     •     Agile Modeling (Scott Ambler):                                                                                                 ,
                                                 .
     •     Agile Software Development Ecosystems             (Jim Highsmith):
                                                                .

                                                             10
•        Test Driven Development (Kent Beck):                                         (                   )                            TDD                 .
           TDD          XP           (TDD                                                                                                                 )
   • IEEE Software/Computer, CACM, Software Development Magazine

   •        XP Conference, XP Universe                                              (                )
   •                    ,                           ,                        http://c2.com

                            ,                           ,                                                                     .                     ,
                                                                                                                 (                            10 , 20
                                                                                             .
                                                  ).
           ,                                    (Ron Jeffries),
                                                (Ward Cunningham),                 (Alistair Cock-
burn),           ,                        (Robert C. Martin aka Uncle Bob),               (Michael
Feathers),          (Ken Auer),                (William Wake),          (Roy Miller),
  (Dave Thomas),          (Andy Hunt),            ,             (Scott Ambler),               (Jim
Highsmith),                  (Joshua Kerievsky),               (Laurent Bossavit),           (John
Brewer)
                   ,                        XP
              .                                 .                        XP
              ,              XP                                       (                  )
                                                    .
                                             (                                         ).
                                                   .
                                                   .
                   .                                             XP                            ,
                                             .                     XP
         .


                                                                                                                             14. Refactor Me
                                                                                                         .
  ’             ’                           ,                                                    .
            (           )                                                .                                                                    -
                                                                                                                                          -
                                        ,
       .                            .                                                                                                             .
                                                                                                                              .
                                                                                                                                  .
                                .           “                                                                    ,                                    ”
                                                .                                                                    .
                    .                                                                                                    .
                                                                               .‘            ’                                            .
                                                            .
                                                                     .                                                                ,                       ,
                                        .                        .




                                                                                        11

Mais conteúdo relacionado

Mais procurados

LinhaçA Graos E Sereais 02
LinhaçA Graos E Sereais 02LinhaçA Graos E Sereais 02
LinhaçA Graos E Sereais 02
Culinaria Fabula
 
100112 obama reality check (update)-tamil
100112 obama   reality check (update)-tamil100112 obama   reality check (update)-tamil
100112 obama reality check (update)-tamil
VogelDenise
 
غولدستون
غولدستونغولدستون
غولدستون
etoo_5005
 
Pizza cutter multiview
Pizza cutter multiviewPizza cutter multiview
Pizza cutter multiview
morrison2816
 
100112 obama reality check (update)-telugu
100112 obama   reality check (update)-telugu100112 obama   reality check (update)-telugu
100112 obama reality check (update)-telugu
VogelDenise
 
سلسلة بناء وتطوير القدرات إعداد وإدارة الاجتماعات
سلسلة بناء وتطوير القدرات إعداد وإدارة الاجتماعاتسلسلة بناء وتطوير القدرات إعداد وإدارة الاجتماعات
سلسلة بناء وتطوير القدرات إعداد وإدارة الاجتماعات
Dr Ghaiath Hussein
 
아버지가 달라지면 아이 인생이 달라진다
아버지가 달라지면 아이 인생이 달라진다아버지가 달라지면 아이 인생이 달라진다
아버지가 달라지면 아이 인생이 달라진다
Daegeun Lee
 
Barack obama christian or heathen (tamil)
Barack obama   christian or heathen (tamil)Barack obama   christian or heathen (tamil)
Barack obama christian or heathen (tamil)
VogelDenise
 
Trip to kasargod travalogue
Trip to kasargod travalogueTrip to kasargod travalogue
Trip to kasargod travalogue
Kiran Thomas
 

Mais procurados (17)

Car2go
Car2goCar2go
Car2go
 
LinhaçA Graos E Sereais 02
LinhaçA Graos E Sereais 02LinhaçA Graos E Sereais 02
LinhaçA Graos E Sereais 02
 
100112 obama reality check (update)-tamil
100112 obama   reality check (update)-tamil100112 obama   reality check (update)-tamil
100112 obama reality check (update)-tamil
 
غولدستون
غولدستونغولدستون
غولدستون
 
שינויי תקנון 2009
שינויי תקנון 2009שינויי תקנון 2009
שינויי תקנון 2009
 
P13 031
P13 031P13 031
P13 031
 
Pdf111
Pdf111Pdf111
Pdf111
 
Pizza cutter multiview
Pizza cutter multiviewPizza cutter multiview
Pizza cutter multiview
 
100112 obama reality check (update)-telugu
100112 obama   reality check (update)-telugu100112 obama   reality check (update)-telugu
100112 obama reality check (update)-telugu
 
سلسلة بناء وتطوير القدرات إعداد وإدارة الاجتماعات
سلسلة بناء وتطوير القدرات إعداد وإدارة الاجتماعاتسلسلة بناء وتطوير القدرات إعداد وإدارة الاجتماعات
سلسلة بناء وتطوير القدرات إعداد وإدارة الاجتماعات
 
6367
63676367
6367
 
아버지가 달라지면 아이 인생이 달라진다
아버지가 달라지면 아이 인생이 달라진다아버지가 달라지면 아이 인생이 달라진다
아버지가 달라지면 아이 인생이 달라진다
 
Barack obama christian or heathen (tamil)
Barack obama   christian or heathen (tamil)Barack obama   christian or heathen (tamil)
Barack obama christian or heathen (tamil)
 
إثراء بيانات التسجيلة الببليوجرافية / إعداد محمد عبدالحميد معوض
إثراء بيانات التسجيلة الببليوجرافية / إعداد محمد عبدالحميد معوضإثراء بيانات التسجيلة الببليوجرافية / إعداد محمد عبدالحميد معوض
إثراء بيانات التسجيلة الببليوجرافية / إعداد محمد عبدالحميد معوض
 
Trip to kasargod travalogue
Trip to kasargod travalogueTrip to kasargod travalogue
Trip to kasargod travalogue
 
Raffaella Isidori Thesign Portfolio (2010 version)
Raffaella Isidori Thesign Portfolio (2010 version)Raffaella Isidori Thesign Portfolio (2010 version)
Raffaella Isidori Thesign Portfolio (2010 version)
 
The Spokeo case
The Spokeo caseThe Spokeo case
The Spokeo case
 

Destaque

HolubOnPatterns/chapter3_2
HolubOnPatterns/chapter3_2HolubOnPatterns/chapter3_2
HolubOnPatterns/chapter3_2
Vong Sik Kong
 
Client dispatcher server_pattern
Client dispatcher server_patternClient dispatcher server_pattern
Client dispatcher server_pattern
Heo Seungwook
 
[0820 석재호]headfirst디자인패턴
[0820 석재호]headfirst디자인패턴[0820 석재호]headfirst디자인패턴
[0820 석재호]headfirst디자인패턴
Jaeho Seok
 
Oop design principle
Oop design principleOop design principle
Oop design principle
Ryan Park
 

Destaque (20)

Abstract factory pattern
Abstract factory patternAbstract factory pattern
Abstract factory pattern
 
HolubOnPatterns/chapter3_2
HolubOnPatterns/chapter3_2HolubOnPatterns/chapter3_2
HolubOnPatterns/chapter3_2
 
misspattern
misspatternmisspattern
misspattern
 
Solid
SolidSolid
Solid
 
데브루키 스터디 발표
데브루키 스터디 발표데브루키 스터디 발표
데브루키 스터디 발표
 
Adapter pattern 한진수
Adapter pattern 한진수Adapter pattern 한진수
Adapter pattern 한진수
 
스터디그룹 패턴 (A PATTERN LANGUAGE FOR STUDY GROUPS)
스터디그룹 패턴 (A PATTERN LANGUAGE FOR STUDY GROUPS)스터디그룹 패턴 (A PATTERN LANGUAGE FOR STUDY GROUPS)
스터디그룹 패턴 (A PATTERN LANGUAGE FOR STUDY GROUPS)
 
Command pattern 김우진
Command pattern 김우진Command pattern 김우진
Command pattern 김우진
 
Client dispatcher server_pattern
Client dispatcher server_patternClient dispatcher server_pattern
Client dispatcher server_pattern
 
[0820 석재호]headfirst디자인패턴
[0820 석재호]headfirst디자인패턴[0820 석재호]headfirst디자인패턴
[0820 석재호]headfirst디자인패턴
 
프로그래머의 길,멘토에게 묻다 2장
프로그래머의 길,멘토에게 묻다 2장프로그래머의 길,멘토에게 묻다 2장
프로그래머의 길,멘토에게 묻다 2장
 
Learn design pattern-1
Learn design pattern-1Learn design pattern-1
Learn design pattern-1
 
Desing Pattern-2
Desing Pattern-2Desing Pattern-2
Desing Pattern-2
 
Design pattern 4
Design pattern 4Design pattern 4
Design pattern 4
 
Oop design principle
Oop design principleOop design principle
Oop design principle
 
GoF의 디자인 패턴
GoF의 디자인 패턴GoF의 디자인 패턴
GoF의 디자인 패턴
 
Mvc pattern
Mvc patternMvc pattern
Mvc pattern
 
소프트웨어 아키텍처 문서화
소프트웨어 아키텍처 문서화소프트웨어 아키텍처 문서화
소프트웨어 아키텍처 문서화
 
예제로 보는 Pattern 연상법
예제로 보는 Pattern 연상법예제로 보는 Pattern 연상법
예제로 보는 Pattern 연상법
 
취미로 엔진 만들기
취미로 엔진 만들기취미로 엔진 만들기
취미로 엔진 만들기
 

Semelhante a Studyforprogrammer

before traveling
before travelingbefore traveling
before traveling
June Song
 
United States of America – IMMIGRATION REFORM - TAMIL
United States of America – IMMIGRATION REFORM - TAMILUnited States of America – IMMIGRATION REFORM - TAMIL
United States of America – IMMIGRATION REFORM - TAMIL
VogelDenise
 
How to-choose-course-after-10th-12th-tamil
How to-choose-course-after-10th-12th-tamilHow to-choose-course-after-10th-12th-tamil
How to-choose-course-after-10th-12th-tamil
Suresh A
 
United States of America – IMMIGRATION REFORM - KANNADA
United States of America – IMMIGRATION REFORM - KANNADAUnited States of America – IMMIGRATION REFORM - KANNADA
United States of America – IMMIGRATION REFORM - KANNADA
VogelDenise
 
Resident Individual Income Tax Return - EZ
Resident Individual Income Tax Return - EZResident Individual Income Tax Return - EZ
Resident Individual Income Tax Return - EZ
taxman taxman
 
Sree Datta Navratris History
Sree Datta Navratris HistorySree Datta Navratris History
Sree Datta Navratris History
Mana Manthani
 
Java Apis For Imaging Enterprise-Scale, Distributed 2d Applications
Java Apis For Imaging Enterprise-Scale, Distributed 2d ApplicationsJava Apis For Imaging Enterprise-Scale, Distributed 2d Applications
Java Apis For Imaging Enterprise-Scale, Distributed 2d Applications
white paper
 
Reforestation Tax Credit
Reforestation Tax CreditReforestation Tax Credit
Reforestation Tax Credit
taxman taxman
 
Underestimate of Tax
Underestimate of TaxUnderestimate of Tax
Underestimate of Tax
taxman taxman
 

Semelhante a Studyforprogrammer (20)

before traveling
before travelingbefore traveling
before traveling
 
Designnet 09/11
Designnet 09/11Designnet 09/11
Designnet 09/11
 
Designnet > 09/11
Designnet > 09/11Designnet > 09/11
Designnet > 09/11
 
United States of America – IMMIGRATION REFORM - TAMIL
United States of America – IMMIGRATION REFORM - TAMILUnited States of America – IMMIGRATION REFORM - TAMIL
United States of America – IMMIGRATION REFORM - TAMIL
 
How to-choose-course-after-10th-12th-tamil
How to-choose-course-after-10th-12th-tamilHow to-choose-course-after-10th-12th-tamil
How to-choose-course-after-10th-12th-tamil
 
United States of America – IMMIGRATION REFORM - KANNADA
United States of America – IMMIGRATION REFORM - KANNADAUnited States of America – IMMIGRATION REFORM - KANNADA
United States of America – IMMIGRATION REFORM - KANNADA
 
Resident Individual Income Tax Return - EZ
Resident Individual Income Tax Return - EZResident Individual Income Tax Return - EZ
Resident Individual Income Tax Return - EZ
 
Agel ბიზნეს გეგმა
Agel ბიზნეს გეგმაAgel ბიზნეს გეგმა
Agel ბიზნეს გეგმა
 
Sree Datta Navratris History
Sree Datta Navratris HistorySree Datta Navratris History
Sree Datta Navratris History
 
Java Apis For Imaging Enterprise-Scale, Distributed 2d Applications
Java Apis For Imaging Enterprise-Scale, Distributed 2d ApplicationsJava Apis For Imaging Enterprise-Scale, Distributed 2d Applications
Java Apis For Imaging Enterprise-Scale, Distributed 2d Applications
 
My path disappear sugumarje
My path disappear sugumarjeMy path disappear sugumarje
My path disappear sugumarje
 
Reforestation Tax Credit
Reforestation Tax CreditReforestation Tax Credit
Reforestation Tax Credit
 
Clear Channel Outdoor Media Planning Guide
Clear Channel Outdoor Media Planning GuideClear Channel Outdoor Media Planning Guide
Clear Channel Outdoor Media Planning Guide
 
OE 43 no confidence against nirman samiti of mandvi hostel
OE 43  no confidence against nirman samiti of mandvi hostelOE 43  no confidence against nirman samiti of mandvi hostel
OE 43 no confidence against nirman samiti of mandvi hostel
 
Crown mustang ct 2001 r
Crown mustang  ct 2001 rCrown mustang  ct 2001 r
Crown mustang ct 2001 r
 
Underestimate of Tax
Underestimate of TaxUnderestimate of Tax
Underestimate of Tax
 
052412 Tamil
052412   Tamil052412   Tamil
052412 Tamil
 
Spirit Miami Beach Korean
Spirit Miami Beach KoreanSpirit Miami Beach Korean
Spirit Miami Beach Korean
 
Telugu Blog Book (తెలుగు బ్లాగు పుస్తకం)
Telugu Blog Book (తెలుగు బ్లాగు పుస్తకం)Telugu Blog Book (తెలుగు బ్లాగు పుస్తకం)
Telugu Blog Book (తెలుగు బ్లాగు పుస్తకం)
 
P13 033
P13 033P13 033
P13 033
 

Último

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 

Studyforprogrammer

  • 1. ? . / , , .‘ ’ . , . / . , , , (Extreme Programming XP) . , . . ( ) ( ) . . , . , . ( ) . 1. . , , . “ !” . . ‘ ’ . ‘ ’ . . . , , , ? . , ‘ ’(construct) ( . (Jean Piaget) , MIT ). , . . ? . ‘ ’ ‘ ’( , ) ? ? , . . ,“ , , ?” . ‘ ’ , . ?
  • 2. 2. , . (pseudo-code) . (C, ) (LISP, Scheme, Haskell), ( , ) . . . . , ‘ ’ ‘ ’ , , , . , . , . 1. 2. 3. 4. (correctness) . . , . .” ?” . . ‘ ’ . . . . . . , “, ” . , ‘ ’ . . , , . (ad hoc) . . , . . . , . . . , . . 3. . . , (concrete) (abstract) . . ‘be- to- ’ 2
  • 3. . ( ) , ACM ICPC(International Collegiate Programming Contest: ) . “ ” . , , . 4. , . . . (E. W. Dijkstra) (N. Wirth) ’ ’(Stepwise Refinement) . Program Development by Stepwise Refinement (1971, CACM 14.4, http://www.acm.org/classics/dec95) . ( ’goto ’ ). Stepwise Program Construction (Selected Writings on Computing: A Personal Perspective, Springer-Verlag, 1982,http://www.cs.utexas.edu/users/EWD/ewd02xx/EWD227. PDF . . . . (loop invariant) . . . (Udi Manber) ( Introduction to Algorithms: A Creative Approach ) . . A Discipline of Programming (Gries) The Science of Programming . . . 5. . ‘ ’ . (Robert Floyd) (The Paradigms of Programming, 1978) . . . . . ‘ ’ . , . . . , , ? . . . ‘ ’ . , , . . .‘ ’ . (Robert W. Floyd) 1978 . , . , . (insight) . . , . . . . . (learn) (unlearn) . 3
  • 4. (George Polya) How to Solve it : , . . . ACM ICPC . , .“ . . ?” . , . . , , . . CLR(Introduction to Algorithms, Thomas H. Cormen, Charles E. Leiserson, and Ronald L. Rivest) . (Jon Bentley) Programming Pearls . . . . 6. , 2001 11 . OOP . . DP RF . , . DP . RF (Bad Smell) . RF . . . . GoF . ( ) ( ) ( ) . . ? ‘ ’ . , . ( ) GoF . 7. , (Mechanics: ) . (Code Smell) - . , . . . . . TDD(Test Driven Development) . , . , ( ) . , 4
  • 5. . . . , . . , ‘ ’ . , . ‘ ’ . . ( ) ( ) . . . OAOO(Once And Only Once: ) . OAOO - . ‘ ’ . - . 3 ( 3 ) . . , . 1. : 2001 11 2. : ( ) . . 3. OAOO : OAOO , . . . GoF . 4. (Law of Demeter) : . ? 5. (Pair) : . , . , , 3 . . 6. ‘ ’ ‘ ’ : . ? , . (Collaborative Learn- ing) . , . , . . . (Tacit Knowledge) . , , , , , , . . . . (Apprenticeship) . . . , . . . (Jean Lave, Etienne Wenger) Situated Learning : Legitimate Peripheral Participation . . . . , ( ) . . , . . . . . . 2001 12 XP . ,‘ ’ ( ) ‘ ( ), ( ), ( )’ . ? 5
  • 6. . . , . 8. ‘ ’ . . . • , . • . . • . . ‘ ’ . • . , . • . (Toy Prob- lem) . (Christopher Alexander, ) . . The Timeless Way of Building ? . . , . . , , . (Betty Edwards) Drawing on the Right Side of the Brain . . . . . 1000 , . .“ ! !” . . ‘’ . 9. , . . . . “ ” . ,” ! , !” , . (Lev Vygotsky) . , . 6
  • 7. ’ . . ’’ . , ’ ’ , . . , . . , , (GoF ) . . . GoF (Ralph Johnson) . [GoF] , [ ] . . . . . . 10. . . . .‘ + + ’ , ‘I love you’ ‘I hate you’ . , . . DP . , . GoF (John Vlissides) . , GoF . . GoF . . ! (immerse) . . . . . . . . . GoF . . , DP DP . ’ ’ . . , “ ” . GoF 7
  • 8. , ” . ‘ ’ . , (Joshua Kerievsky) A Learning Guide To Design Patterns http://www. industriallogic.com/papers/learning.html . Knowledge Hydrant http://www.industriallogic. com/papers/khdraft.pdf . . LG2DP( A Learning Guide To Design Patterns ) DP . DP . . sorry remorseful . . (Proximal Learning) . . LG2DP . . , , , . , . 11. GoF DP . . DP . . , DP . Smalltalk Best Practice Patterns . . . . OAOO . (Overengineering) , . Stop Over-Engineering! (Software Development Magazine, Apr 2002, http://www.sdmagazine.com/documents/s=7032/sdm0204b/0204b. htm . . 1980 . , , . (James Coplien) . (representation) . , . ‘ ’ . . , C++ , . ‘ ’ ( (Javarian) . (barbarian) ). ‘ ’ Diversify http://www.research.ibm.com/people/v/ vlis/pubs/gurus-99.pdf . ’ ’ . (implementation) (intent) , . DP GoF Design Patterns Smalltalk Companion . . ( ), . , ., . . ‘ ’ . “ ” . 8
  • 9. 12. . • Design Patterns Explained (Shalloway, Trott): DP • Design Patterns Java Workbook (Steven John Metsker): DPE . . • Refactoring (Martin Fowler): DP ( ) • Design Patterns : . • Design Patterns Smalltalk Companion : GoF DPSC • Pattern Hatching (John Vlissides): DP . . • Smalltalk Best Practice Patterns (Kent Beck): . . . • Pattern Languages of Program Design 1,2,3,4: • Pattern-Oriented Software Architecture 1,2: .2 . • Concurrent Programming in Java (Doug Lea): . • Patterns of Software (Richard Gabriel): . • Analysis Patterns (Martin Fowler): . . • A Timeless Way of Building (Christopher Alexander): . .‘ ’(‘ ’ The Nature of Order ). • A Pattern Language (Christopher Alexander): . • Problem Frames (Michael Jackson): DP (solution) . . DP , DPE DPJW RF RF ( . , ). GoF DPSC . . SBPP . DP SBPP . POSA PLOPD . . . ( “ ” ). ‘ ’ . , , . .“ ” . , . ‘OOP ’ ‘ ’ . . . . . . 9
  • 10. XP Explained XP . XP . XP XP . XP , . . ‘ ’ , XP . (XP , ‘ ’ ). 13. XP ( 2001 12 XP ). • XP Explained (Kent Beck): XP • XP Installed (Ron Jeffries et al): C3 , • Planning XP (Kent Beck, Martin Fowler): ( , ) • Refactoring (Martin Fowler): • XP Applied : • XP Explored : XP XPI XPX . XPE (2001 11 ). . • The Timeless Way of Building : . (On-site Cus- tomer), (Piecemeal Growth), (Communication) . • XP in Practice (Robert C. Martin ): XP . ( ). • XP Examined : XP • Peopleware (Tom DeMarco): • Adaptive Software Development (Jim Highsmith): . . • Surviving Object-Oriented Projects (Alistair Cockburn): OO • Software Project Survival Guide (Steve McConnell): SE . • The Psychology of Computer Programming (Gerald M. Weinberg): . (Egoless Programming) . • Agile Software Development (Alistair Cockburn): • Software Craftsmanship (Pete McBreen): • Agile Software Development with SCRUM (Schwaber Ken): (Scalability) XP+SCRUM . • A Practical Guide to eXtreme Programming (David Astels ): . . XPP . • Agile Modeling (Scott Ambler): , . • Agile Software Development Ecosystems (Jim Highsmith): . 10
  • 11. Test Driven Development (Kent Beck): ( ) TDD . TDD XP (TDD ) • IEEE Software/Computer, CACM, Software Development Magazine • XP Conference, XP Universe ( ) • , , http://c2.com , , . , ( 10 , 20 . ). , (Ron Jeffries), (Ward Cunningham), (Alistair Cock- burn), , (Robert C. Martin aka Uncle Bob), (Michael Feathers), (Ken Auer), (William Wake), (Roy Miller), (Dave Thomas), (Andy Hunt), , (Scott Ambler), (Jim Highsmith), (Joshua Kerievsky), (Laurent Bossavit), (John Brewer) , XP . . XP , XP ( ) . ( ). . . . XP , . XP . 14. Refactor Me . ’ ’ , . ( ) . - - , . . . . . . “ , ” . . . . .‘ ’ . . . , , . . 11