
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.
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
- Ley de Parkinson
- Un continuo de estilos de descomposición
- Descomposición humana
- Estrategias de descomposición
- Del precedente a la descripción del puesto
- Fuentes
Creencias falsas sobre la naturaleza humana
:
- , .
- , , .
- , ().
- ( ).
- , ().
- ().
, , . , .
. , . , .
« »
4 :
, .
« », 1955 . , . , .
« . » , , . , , .
:
- , ;
- #NoEstimates, .
« » , . :
, , , , . 1840- 1960- . , . , , . , . .
, . ( Thinking Fast And Slow). . . , , , . .
, , . , , . , , , .
, . , . , , , , , .
NoEstimates
AgileDays'14. , , :
- .
- , - . (CI) .
- , , .
, , :
- , , .
- .
- , , .
, , , .
#NoEstimates . , . , , .
, , #NoEstimates, , .
#NoEstimates .
, , , , . .
:
- . , .
- 3—5 . , .
Loose Coupling / High Cohesion ( / ), :
- Loose Coupling: .
- High Cohesion: , .
, , API . , , , , .
. API decomposition smell ( code smell), .
, . .
:
- ?
- - , ?
- ? - , ?
:
- , , , ?
- ( 3—5 )?
- ?
, . . . . .
3—5 — . , , . Ruby on Rails.
, - , , .
, c « ». , :
- , , .
- , , , ( № 3) , .
, . , , . . , , , , , . - , , . , , .
. , , — . , , , . , , . , - . , .
, , , , - .
. , . .
.
,
, ( Ruby on Rails) CRUD .
, .
— . , , . - , . , , , .
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. , . — .
, , .
— , .
, . , . , . , .
, , .
, . — .
- , , . . . , , .
11 « » , :
— .
, . .
. , : , . -. . , . , . .
FunBox .
, , , .
:
- « . ».
- « -».
- «- (DDD). ».
- « . ».
- « . ».
:
- .
- « . » « . ».
- « . ».
- Thinking Fast And Slow.
- « », , . .
:
- « ». AgileDays'14, , , #NoEstimates. .
- « ». . , , , , , .