色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 牛人業(yè)話 > 嵌入式軟件設計的極簡主義

          嵌入式軟件設計的極簡主義

          作者:驢三 時間:2019-09-27 來源:電子產(chǎn)品世界 收藏

          多年前,胡適先生發(fā)表過一篇文章-《多研究些問題,少談些主義》,大意是空談誤國,與其做些主義的爭論,不如多干點實事云云。據(jù)說,文章甫出,便迎來罵聲一片,足見國人對“主義”情有獨鐘,絕非個別文人兩句話就可回轉心意的。

          本文引用地址:http://cafeforensic.com/article/201909/405368.htm

          被小資情調酥軟了骨頭的胡適君當然理解不了“主義”的力量。在之后波瀾壯闊的幾十年里,走長征,過草地,艱苦抗戰(zhàn),靠著小米加步槍推翻壓在舊中國頭頂?shù)娜笊?,無一不是在共產(chǎn)主義的光輝指引下完成的驚天壯舉。

          主義的力量是無窮的。今天,我想談一談嵌入式軟件設計這項同樣偉大光輝正確的事業(yè)中的主義。

          1

          電子行業(yè)發(fā)展近百年,產(chǎn)品形式多樣、高度靈活,又可隨意定制,在這混亂與嘈雜中,各大標準組織相繼成立門戶,制定軍規(guī)。多年下來,硬件設計早已有章可循,條條框框有板有眼,軟件設計亦逐漸規(guī)范,標準林立。照理說,對于同一個要求,只要按規(guī)范和標準來,大家做出的東西就像異父異母的親兄弟一樣,令人免不得生出東哥一般的臉盲癥來。

          但是,電子工程師偏偏是一個不甘于寂寞的群體。荷爾蒙在體內奔騰,內啡肽在腦子里游走,不在產(chǎn)品上折騰一番,怎么告慰這“無處安放的青春”?

          于是乎我們看到,盡管是同樣功能的東西,設計人員們把它搞得形式多樣,真可謂龍生九子,個個不同。而且,相比較于硬件開發(fā),軟件設計更加個性化,折騰空間更大。于是乎,在這令人眼花繚亂的設計背后,有一個直擊工程師靈魂的問題——兄臺是遵循什么樣的設計理念開發(fā)產(chǎn)品的?

          1569560957248440.jpg

          設計理念是一種讓菜鳥們摸不到頭腦的存在,但是大佬們說,它實實在在地貫穿于產(chǎn)品的整個設計過程,決定了所設計產(chǎn)品的呈現(xiàn)方式、使用方式、便利性、穩(wěn)定性、質量等一系列要素。

          據(jù)說,做出過爆品的大公司都特別講究設計理念問題,對于某個面向特定行業(yè)特定人群的特定產(chǎn)品,設計理念往往對產(chǎn)品的成敗起著決定性的作用。坊間經(jīng)常流傳大公司內部高管之間狗血般的內斗,但是又據(jù)說,有些人身攻擊和對立完全是技術層面,是在產(chǎn)品設計理念上存在不可調和的沖突延伸而來的斗爭。

          設計理念既然如此重要,對于人微言輕、處于嵌入式行業(yè)最前線的設計人員的我們,同樣要貫徹正確的設計理念來指導我們的設計工作。

          2

          軟件設計非常靈活,幾句代碼敲下去,功能就阿里阿里巴巴變了,這種極強的可變性導致它很容易出質量問題。在建筑領域有個口號說‘質量問題重于泰山’,這樣的話同樣適用于航空航天、軍工、醫(yī)療電子、汽車電子等安全攸關的領域。

          遠的就不說了,我就問問諸君,您還敢坐波音的飛機嗎?

          可是,軟件質量問題又有著太多不可控的因素,設計人員的身體狀況、心情狀態(tài)、編碼習慣、編碼水平、工作態(tài)度、思維方式、創(chuàng)造能力甚至人生觀、價值觀、世界觀等等看似與軟件設計無關的要素都會對軟件最終的實現(xiàn)起到或多或少的影響。如此這般靈活,使得軟件質量問題成為業(yè)界最為關注的因素。

          目前在軟件質量的控制上,有管理制度的支撐、工具的支持、過程控制的約束,這些都對改進軟件質量起到了一定的作用。但是,軟件設計更多的時候是一項依賴于設計人員自身稟賦天性的技能,而不是一種純粹的科學,任何外在的支持,其作用都無法代替軟件設計者自身的技能和專業(yè)素養(yǎng)。

          1.jpg

          來源:千庫網(wǎng)

          從技術需求分析出發(fā),到架構的選定、模塊的劃分,到代碼的最終呈現(xiàn),不同專業(yè)水準的設計人員,其設計過程及最終代碼層面的實現(xiàn)都有著顯著的差別,這些也會對后續(xù)的維護、升級產(chǎn)生深遠的影響。

          故而,在軟件設計的整個過程中,秉持正確的設計理念對軟件設計起著決定性的作用,它不僅對當前設計過程的推進和控制起到正向作用,還會簡化產(chǎn)品在整個生命周期內的維護與升級工作。

          OK,設計理念很重要,那么,到底要在嵌入式軟件設計中遵循什么樣的設計理念,或者說主義呢?

          3

          我今天想向大家掰扯掰扯的設計理念就是大家都聽說過,但是可能沒有認真深入研究過的“極簡主義”。

          極簡主義是建筑設計領域的一種設計理念和美學概念,它強調摒棄一切無用的細節(jié),追求最純粹最本真的呈現(xiàn),已經(jīng)應用到建筑設計、工業(yè)品設計、服裝設計、家居設計等領域中,而在軟件設計領域,貫徹極簡主義的設計理念同樣會對軟件開發(fā)過程起到巨大的推動作用。

          下面我就不惜眉毛,從需求分析、設計方案兩個方面給大家剖析一下極簡主義的作用。

          [需求分析]-把復雜變簡單!

          需求分析是軟件設計的重頭戲,在審視所設計產(chǎn)品的功能性能需求時,在繁雜多樣的需求規(guī)格說明書中迅速把握和區(qū)分產(chǎn)品核心功能和細枝末節(jié),對于產(chǎn)品的深入理解及設計方案的選擇制定有著至關重要的指導意義。

          在需求分析過程中堅持極簡主義的設計理念,會讓我們厘清思路,迅速把握產(chǎn)品基本架構、功能的基本剖面,避免陷入紛繁條目的泥淖,犯下不識廬山真面目的錯誤。

          通過化繁為簡,設計人員可以把主要精力牢牢關注在核心要素上,在有限的人力物力資源下,為必要的核心要素建立嚴格的性能指標和測試標準,避免為了一些細枝末節(jié)的小功能,而在主要功能、基本要素上做出設計上的妥協(xié)。

          [設計方案]-最簡單的實現(xiàn)方式更容易貼近功能的本質

          條條大路通羅馬,但是兩點之間,直線最短。

          在多種設計方案的權衡和選擇上堅持極簡主義,就是在功能和實現(xiàn)之間“走直線”,便是以結果為導向,始終追求最高效、最簡潔的方法。體現(xiàn)在軟件設計中,便是貫徹最簡原則,秉持“若無必要,勿增實體”的奧卡姆剃刀原則,揮舞鋒利的奧卡姆剃刀,化繁為簡,尋求最簡單的實現(xiàn)方式,同時從極簡中尋求可控,增強對軟件的掌控感。

          它背后的邏輯是:對所實現(xiàn)功能的理解越深刻,實現(xiàn)方式越簡單,設計方案與功能邏輯的距離越短,也更能體現(xiàn)功能的內在邏輯。隨意的、通常也是復雜的實現(xiàn)會占用我們過多的精力,把眼界限制在與功能邏輯有相當距離的設計實現(xiàn)上,從而把問題的本質拉遠、掩蓋,把本來簡單清晰的東西搞得復雜起來,使人迷失在邏輯的迷宮里。

          但是,把簡單變復雜很容易,把復雜變簡單很困難!

          1569561006192565.gif

          舍繁就簡,不僅考驗設計者的專業(yè)功底,更考驗設計者的發(fā)散思維和創(chuàng)造能力。它需要我們深入理解功能的含義、條件、內部細節(jié)、上下文,在初次設計的基礎上反復斟酌,花心思考慮怎樣以比當前簡單的方式實現(xiàn)。

          軟件設計從來就不是一蹴而就的,在邁向其最終實現(xiàn)的路途中,要充滿耐心地一次次迭代、重構和優(yōu)化,從復雜而模糊的代碼泥淖中,找到前行的路。以清晰的軟件結構、與邏輯相近的設計語言描述,尋求最簡的功能實現(xiàn)。

          苦心人天不負,三千越甲可吞吳!極簡主義帶來的回報同樣是豐厚的,首先它會讓軟件質量更好控制,因為復雜的東西會擴散風險,只有簡單的東西才能做到風險可控。其次,前人栽樹后人乘涼,它會使得之后的維護工作更加簡單易行,從而助你早日擺脫996。

          后記

          極簡主義不是片面追求簡單、偷工減料,相反,它要求在特定的需求下、具體的設計中,將性能做到極致、實現(xiàn)做到最簡,這種對性能的追求、對最簡實現(xiàn)方式的苛求對設計工作提出了更高的要求。

          極簡主義在設計實踐中的體現(xiàn)及應用不是寬泛的,而是非常具體而微的,它體現(xiàn)在你的軟件結構設計、模塊劃分和接口的定義、每個函數(shù)的實現(xiàn)、每條語句的權衡甚至每個變量的選擇上。在孜孜不倦得對代碼進行優(yōu)化再優(yōu)化、重構再重構的過程中,極簡主義幫助設計者更加洞察產(chǎn)品,更加快速得由必然王國邁向軟件設計的自由王國。



          關鍵詞:

          評論


          相關推薦

          技術專區(qū)

          關閉