愚蠢的實(shí)現(xiàn)各有各的蠢法臊岸,好的代碼有相似的氣質(zhì)。比如說(shuō)吧宦言,在一個(gè)既有的函數(shù)里增加一個(gè)分支扇单,寫法包括 1. 敲一顆釘子進(jìn)去 foo(){ ……...
愚蠢的實(shí)現(xiàn)各有各的蠢法臊岸,好的代碼有相似的氣質(zhì)。比如說(shuō)吧宦言,在一個(gè)既有的函數(shù)里增加一個(gè)分支扇单,寫法包括 1. 敲一顆釘子進(jìn)去 foo(){ ……...
即便是使用c語(yǔ)言的嵌入式開(kāi)發(fā),也不應(yīng)該直接用類似p->a.b的方式訪問(wèn)數(shù)據(jù)奠旺。這么做一方面意味著對(duì)數(shù)據(jù)缺乏抽象蜘澜,毫無(wú)設(shè)計(jì)。另一方面意味著數(shù)據(jù)存...
軟件和組織架構(gòu)的一致性 先做一個(gè)小結(jié)响疚,軟件面臨的核心問(wèn)題是功能擴(kuò)展時(shí)的成本(人力鄙信、時(shí)間、故障等綜合考慮)忿晕。解決的基本思路装诡,其一、引入各種軟件設(shè)計(jì)...
好的代碼 要說(shuō)清楚DSL能帶來(lái)什么践盼,先要理解需要什么鸦采。一份好的代碼,應(yīng)該滿足下述屬性(重要程度遞減) : 1.正確 它需要實(shí)現(xiàn)當(dāng)前所需的功能咕幻,可...
DSL (domain specific language, 領(lǐng)域特定語(yǔ)言)渔伯,簡(jiǎn)單的說(shuō),就是為某種特定的目的設(shè)計(jì)的一種與特定目的(業(yè)務(wù)本質(zhì))更加...
對(duì)領(lǐng)域概念做靜態(tài)建模的時(shí)候肄程,有一類概念被視為聚合根(root)锣吼。它有自己的生滅過(guò)程,數(shù)據(jù)和行為聚合于其上蓝厌,有一個(gè)唯一的ID可以表征自己并且...
二十年左右的時(shí)間玄叠,敏捷(agile)軟件開(kāi)發(fā)走完了從一小撮人的游戲到軟件業(yè)內(nèi)的某種政治正確的慢慢征途。agile成為了一個(gè)good- words...
目前為止只存在三種編程范式(可能也不會(huì)有第四種了)拓提,結(jié)構(gòu)化編程读恃、面向?qū)ο缶幊?和 函數(shù)式編程。 結(jié)構(gòu)化編程基于嚴(yán)格的數(shù)學(xué)證明代态,只需要順序...
最近讀完<clean architecture>(by Robert C.Martin, 即uncle Bob),和筆者日常所見(jiàn)所思有些共鳴寺惫,打...
<clean architecture>這書的第一部分算是老生常談了,用一個(gè)匿名的case study說(shuō)軟件如何腐化進(jìn)而大幅影響開(kāi)發(fā)效率胆数。軟...