Descomposición del trabajo humano

img



En mis 15 años como desarrollador, descubrí que las falsas creencias sobre la naturaleza humana son los principales enemigos de una buena descomposición . Conociendo sobre ellos y tratando de no caer en su trampa, con el tiempo, puedes formular consejos para crear una buena descomposición . Esto me pasó a mí y me apresuro a compartir este conocimiento.



Conceptos clave

(feature) — -, . , -. .



, . , .



— , . « » : , .



Durante más de 5 años he trabajado como desarrollador backend en FunBox. En la empresa, creemos que los buenos productos son el resultado de una sólida cultura de ingeniería y nos esforzamos por practicar este principio en el desarrollo de soluciones para operadores móviles. Tiene sus propias características de pila y procesos, pero también hay aspectos universales que son aplicables en cualquier dominio. Uno de ellos es el método de descomposición . Gracias a la naturaleza del trabajo basada en productos y a la cultura de la ingeniería, pude adquirir experiencia y conocimientos que no puedo evitar compartir.



Navegación por el artículo:







Creencias falsas sobre la naturaleza humana



:



  1. , .
  2. , , .
  3. , ().
  4. ( ).
  5. , ().
  6. ().


, , . , .



. , . , .



.

, . « ».



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



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



. , . , , , .



, , .



, , «» «» , , , .





« »



4 :



, .

« », 1955 . , . , .



« . » , , . , , .







:



  • , ;
  • #NoEstimates, .




« » , . :





, , , , . 1840- 1960- . , . , , . , . .



, . ( Thinking Fast And Slow). . . , , , . .



, , . , , . , , , .



, . , . , , , , , .



NoEstimates



#NoEstimates ( ) , , .



AgileDays'14. , , :



  1. .
  2. , - . (CI) .
  3. , , .


, , :



  1. , , .
  2. .
  3. , , .


, , , .



#NoEstimates . , . , , .



, , #NoEstimates, , .







#NoEstimates .

, , , , . .





:



  1. . , .
  2. 3—5 . , .


Loose Coupling / High Cohesion ( / ), :



  • Loose Coupling: .
  • High Cohesion: , .


, , API . , , , , .



. API decomposition smell ( code smell), .





, . .



:



  1. ?
  2. - , ?
  3. ? - , ?


:



  1. , , , ?
  2. ( 3—5 )?
  3. ?


, . . . . .





3—5 — . , , . Ruby on Rails.



, - , , .



, c « ». , :



  1. , , .
  2. , , , ( № 3) , .


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



. , , — . , , , . , , . , - . , .



, , , , - .



. , . .





.



,



, ( Ruby on Rails) CRUD .

, .



. , , . - , . , , , .



Ruby on Rails

Ruby on Rails «--». has_and_belongs_to_many HABTM- .

, , HABTM- .



, . , , HABTM-, , . . , UI, . « », .



, UI, , , , , — , .



, , , .



, , . . — , — , . , .





:



  • .
  • , .
  • .
  • , , .
  • , .
  • .


, 5 , , . , , «»: .



. , . API , , . API , . , .



. , , , . , .



, 10% , : , .



. , , , . , , . . API , , .



, .







, .



1.



«» , , .

, , .

3—5 , , , , . , .



2.



, . , , , . № 5, . , , , .



, — , . , , . № 6, - . , , , .



— , . « » .



, .



, . , — .



, . .



, . , , . .



, , , .



, , , , . . . , , , . 6 .



3.



, — . , - . , — - - .



. , .

: . , .



, . , , . , , .



4. ,



, . .



, , , , . , , , .



, , . W.I.P. (work in progress). , .



5.



, , .



, , . , - , - .

. , , .

. .



6.



- .

, -, .



15 «» «- (DDD). ». (Generic Subdomains) (Cohesive Mechanisms), (Core Domain), .



, , , .



-, . , , . .



« -».

, .



, , (accidental complexity) - . , .



, - , . . omakase-, Ruby On Rails .



, . . , , . . , , .



, .



, , . , . .



7.



. , . . , .



« », , 1:3. , . — .



, , .



, .

, . , . , . , .



, , .



, . .



- , , . . . , , .



« . » 1999 . , 1975 , « -».



11 « » , :



— .






, . .



. , : , . -. . , . , . .



FunBox .



, , , .







:



  1. « . ».
  2. « -».
  3. «- (DDD). ».
  4. « . ».
  5. « . ».


:



  1. .
  2. « . » « . ».
  3. « . ».
  4. Thinking Fast And Slow.
  5. « », , . .


:



  1. « ». AgileDays'14, , , #NoEstimates. .
  2. « ». . , , , , , .



All Articles