最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Keep It Simple and Stupid

2023-06-18 17:58 作者:LeonardTX  | 我要投稿

最近靈感爆發(fā)忙著畫各種各樣的圖(對(duì)架構(gòu)師而言畫圖其實(shí)就是在腦子里做設(shè)計(jì)),計(jì)劃了很久的收尾題目沒動(dòng)手寫,確定了一陣的水文也僅僅寫了個(gè)標(biāo)題。趁著有空有心情有體力,把這篇水文寫完。 從藝十幾載,一直很自信自己的設(shè)計(jì)能力,細(xì)想下來主要是因?yàn)橄鄬?duì)于還在就事論事碰到某個(gè)問題解決某個(gè)問題的朋友們,我做設(shè)計(jì)的的時(shí)候有自己堅(jiān)持的原則。不管現(xiàn)實(shí)結(jié)果怎樣,有信仰的一般都瞧不上沒信仰的。但是原則具體是什么?說起來也不外乎下面四點(diǎn): 1. 先拆散了識(shí)別,再抽象并歸一化。拿到一個(gè)工作,首先要做的是把工作拆解成各個(gè)獨(dú)立且明確的子任務(wù),然后根據(jù)任務(wù)的特征(數(shù)據(jù)流、交互方式…)再把它們歸納/歸一成幾類不同的任務(wù),并且在這個(gè)過程中識(shí)別主要目標(biāo)和主要矛盾。 2. 做芯片設(shè)計(jì)本質(zhì)上是trade off,要堅(jiān)持有所為有所不為。一個(gè)大而全且面面俱到的設(shè)計(jì),即使做下來了也必然是毫無競(jìng)爭(zhēng)力的產(chǎn)品。識(shí)別key point,把資源都堆上去做到95分;不核心的地方做到60分就行了。 3. 代碼是人和機(jī)器都需要讀的語言,70%是給人讀的,30%是給機(jī)器讀的。所以相比于所謂的PPA更優(yōu)的代碼,單位里的各位阿姨在咖啡聊娃之余也能隨隨便便就看懂的代碼更有生命力和價(jià)值。 4. KISS,Keep It Simple and Stupid,做邏輯簡(jiǎn)單的設(shè)計(jì)。算1+1快還是12345*6789快不言而喻,哪個(gè)更容易做錯(cuò)也不需要判斷。把復(fù)雜的工作做的很簡(jiǎn)單其實(shí)是件很難的事情,相反把原本該simple and stupid的工作變復(fù)雜到是很容易且具有很強(qiáng)的誘惑力,這也是很多比較有經(jīng)驗(yàn)的DE最容易踏入的陷阱。 很多人做不到KISS的原因是他分不清到底什么是Simple and Stupid,所以接下來講講我理解的Simple and Stupid。所謂的簡(jiǎn)單絕對(duì)不等于設(shè)計(jì)的少或者代碼的短,恰恰相反的是復(fù)雜或者over optimize的設(shè)計(jì)倒是經(jīng)常能展現(xiàn)出簡(jiǎn)潔的表象。Simple and Stupid首先必須意味著思路的直接。碰到一個(gè)要解決的問題時(shí),與其冥思苦想各種奇贏巧技,不如按照常見的方式按部就班的做。大道不出奇,守正才是正路。其次simple的設(shè)計(jì)一定是功能明確邊界清晰的,stupid的設(shè)計(jì)一定流程確定缺少變化的。這和功能的多少、接口的大小、流程的長短是沒有關(guān)系的。舉個(gè)簡(jiǎn)單的例子,一個(gè)cnt類型的有1000個(gè)狀態(tài)的狀態(tài)機(jī)是個(gè)簡(jiǎn)單設(shè)計(jì),一個(gè)只有4個(gè)狀態(tài)但是每個(gè)狀態(tài)之間都會(huì)根據(jù)不同條件相互跳轉(zhuǎn)的狀態(tài)機(jī)是個(gè)復(fù)雜設(shè)計(jì)。最后,一般而言積木的組合由于其靈活多變性導(dǎo)致它既不Simple又不Stupid,但是用于組合的積木本身不管它有多少種顏色和形狀,它的用途都是單一固定的所以是簡(jiǎn)單的。 KISS從某種程度上說是對(duì)復(fù)雜功能的取舍和歸一,可惜不能用最近遇到的例子介紹下什么叫KISS,最后總結(jié): 1. 所有的設(shè)計(jì)都可以被歸納為解決問題,Simple and Stupid的解決方案一定是可以靠直覺想到的,不需要冥思苦想的方法往往才是好辦法 2. Simple and Stupid的方法一定是不給意外機(jī)會(huì)的方法,HW設(shè)計(jì)請(qǐng)忘掉復(fù)雜的狀態(tài)跳轉(zhuǎn)和條件判斷,把它留給軟件吧 3. HW要做的一定是功能明確、邊界固定、關(guān)注點(diǎn)單一的單元,調(diào)度是軟件的活,HW要做的是提供合適且高效的調(diào)度方式 4. 要懂得隱藏細(xì)節(jié),細(xì)節(jié)只體現(xiàn)在模塊內(nèi)部,模塊間只能看到固定的接口,說白了就是解耦 5. 能用一種類型就別分兩類,多項(xiàng)性差異只在真正用到的點(diǎn)上處理 6. 不要過度優(yōu)化,也別過早優(yōu)化 7. HW是積木,SW組合積木搭圖案 8. 除非是對(duì)PPA有極致要求的場(chǎng)景(譬如幾毛錢的iot芯片),否則自覺遠(yuǎn)離全硬化方案,給軟件留點(diǎn)活讓軟件有機(jī)會(huì)爆肝演出,給硬件留點(diǎn)留點(diǎn)work round的余地

Keep It Simple and Stupid的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
徐汇区| 慈利县| 高雄县| 平度市| 三门县| 安丘市| 那曲县| 谢通门县| 海伦市| 和静县| 卫辉市| 南岸区| 麻城市| 如皋市| 东宁县| 元氏县| 平定县| 中阳县| 玉溪市| 杨浦区| 改则县| 罗甸县| 淮阳县| 长岭县| 贡山| 黄陵县| 福海县| 崇信县| 磐石市| 新丰县| 麻江县| 砚山县| 从江县| 子长县| 四平市| 通城县| 香河县| 郴州市| 海原县| 北流市| 五台县|