
Dalam 15 tahun saya sebagai pengembang, saya telah menemukan bahwa kepercayaan yang salah tentang sifat manusia adalah musuh utama pembusukan yang baik . Mengetahui tentang mereka dan berusaha untuk tidak jatuh ke dalam perangkap mereka, seiring waktu, Anda dapat merumuskan tip untuk menciptakan dekomposisi yang baik . Ini terjadi pada saya, dan saya segera membagikan pengetahuan ini.
Selama lebih dari 5 tahun saya telah bekerja sebagai pengembang backend di FunBox. Di perusahaan, kami percaya bahwa produk yang baik adalah hasil dari budaya teknik yang kuat, dan kami berusaha untuk mempraktikkan prinsip ini dalam mengembangkan solusi bagi operator seluler. Ini memiliki fitur tumpukan dan prosesnya sendiri, tetapi ada juga aspek universal yang berlaku di bidang subjek apa pun. Salah satunya adalah pendekatan dekomposisi . Berkat sifat pekerjaan yang berbasis produk dan budaya teknik, saya dapat memperoleh pengalaman dan wawasan yang tidak dapat tidak saya bagikan.
Navigasi melalui artikel:
- Keyakinan Salah Tentang Sifat Manusia
- Hukum Parkinson
- Sebuah kontinum gaya dekomposisi
- Dekomposisi manusia
- Strategi dekomposisi
- Dari preseden hingga deskripsi pekerjaan
- Sumber
Keyakinan Salah Tentang Sifat Manusia
:
- , .
- , , .
- , ().
- ( ).
- , ().
- ().
, , . , .
. , . , .
« »
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. .
- « ». . , , , , , .