在我从事开发工作的15年中,我发现关于人性的错误信念是良好分解的主要敌人。随着时间的流逝,了解它们并尝试不陷入陷阱,您可以制定一些技巧来进行良好的分解。这发生在我身上,我赶紧分享这些知识。
五年多来,我一直在FunBox担任后端开发人员。在公司,我们相信优质的产品是强大的工程文化的产物,我们致力于在为移动运营商开发解决方案时实践这一原则。它具有堆栈和过程的自身特征,但是也有适用于任何主题领域的通用方面。其中之一是分解方法。由于工作基于产品的本质和工程文化,我得以获得我不禁分享的经验和见解。
浏览文章:
关于人性的错误信念
:
- , .
- , , .
- , ().
- ( ).
- , ().
- ().
, , . , .
. , . , .
« »
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. .
- « ». . , , , , , .