0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

程序員應(yīng)該知道簡單就是美

工程師人生 ? 來源:工程師吳畏 ? 2018-12-28 15:01 ? 次閱讀

我們經(jīng)常會聽到這樣一句話——簡單就是美,或者是這句話的各種變體,而且這句話不限于行業(yè),不僅僅是在軟件業(yè),在各種涉及到設(shè)計(jì)藝術(shù)的領(lǐng)域,很多大師級的任務(wù)都會告訴我們,簡單就是美。

在這里我當(dāng)然只想針對軟件開發(fā)相關(guān)的內(nèi)容來談,其實(shí)我們要解決的問題就是——到底要多簡單呢?

對于UI設(shè)計(jì)——不需培訓(xùn)直接能使用

還記得曾經(jīng)看過的基本講述交互設(shè)計(jì)知識的幾本書,其中都提到了,最簡單也是最美的界面設(shè)計(jì),就是用戶直接就明白怎么用,而不需要長期的培訓(xùn),對于這一點(diǎn)我深以為然,并且努力把這一點(diǎn)貫徹到自己所做的系統(tǒng)中。曾經(jīng)記得自己幫朋友寫了一個簡單的庫存管理系統(tǒng),界面上沒有菜單,只有幾個必要的按鈕,采用的是Office 2007的ribbon樣式,并且精心挑選了幾個意義鮮明的圖標(biāo)。朋友使用的時(shí)候,就告訴我,這個東西比他之前用過的財(cái)務(wù)軟件好多了,那個東西培訓(xùn)了兩個月還是不會使用,而且其中有太多用不到的字段,雖然不需要填寫,但是看起來也比較別扭。而我這個東西,當(dāng)時(shí)特意就沒告訴他如何使用,只是說,很簡單,看看就會了。達(dá)到的效果也很讓我自己滿意,真的是看看就會用了,哈哈。

其實(shí)想想成功的產(chǎn)品,比方說最近大賣的ipod、iphone、ipad等一系列蘋果的東西,每一種的設(shè)計(jì)都是超級簡單,沒有過于復(fù)雜的界面和操作,這種美不用我說,已經(jīng)得到了無數(shù)人的認(rèn)可。

復(fù)雜的界面真的非??简?yàn)人,曾經(jīng)見過最復(fù)雜的界面還是出現(xiàn)在對日項(xiàng)目中,同樣最復(fù)雜的報(bào)表也在對日項(xiàng)目中,日本人對于基礎(chǔ)知識的培訓(xùn)和學(xué)習(xí),以及對復(fù)雜情況的耐心和毅力的確值得我們學(xué)習(xí),如果讓我整天面對那樣復(fù)雜的界面,我可能早就崩潰了。(比方說,一個界面上放40個以上的控件,并且填寫一個表單需要滾三屏,都是很可怕的)

我只能說,我是個懶人,不喜歡復(fù)雜的東西,解決問題喜歡用簡單的方法,各種東西的使用我也愿意選擇簡單的。

其實(shí),對于設(shè)計(jì)界面的人來說,或者說叫做交互設(shè)計(jì)師來說,設(shè)計(jì)最簡單的界面,讓用戶能夠盡快地上手使用,并且所有的使用習(xí)慣都與用戶的傳統(tǒng)習(xí)慣相符,本身就是對客戶的一種尊重,另外,在市場上,一個產(chǎn)品是否能夠取得成功,往往界面設(shè)計(jì)的好壞會起到非常重要的作用,因?yàn)楹唵我子玫慕缑妫瑫屓苏嬲惺艿狡渲械拿?,并贏得更多的用戶。

上面我們所說的是最終用戶所要面對的東西,而對于我們這些程序員整天所要面對的代碼,又應(yīng)該如何呢?我覺得代碼的簡單就在于——直接能看懂

我們在工作中,不可避免地會需要維護(hù)別人的代碼,而我們自己編寫的代碼也經(jīng)常會由別人來review和維護(hù),那么代碼的簡單之美就非常重要了。

想要直接看懂代碼,我覺得必不可少的有幾點(diǎn):

簡短——每個方法都應(yīng)該盡可能地短,有人提倡每個方法不超過四行,暫時(shí)我覺得還達(dá)不到那個標(biāo)準(zhǔn),不過我們至少可以達(dá)到的是,每個方法只做一件事。曾經(jīng)見過非??膳碌拇a是有超過五層的if嵌套,而且每個嵌套里面的處理代碼都無法顯示在一屏之內(nèi),我直接就崩潰了,哈哈。

命名準(zhǔn)確——這個應(yīng)該是最有利于在維護(hù)的時(shí)候理解代碼的了。業(yè)界中提倡的自解釋代碼也正是如此,如果變量、方法、類等等的名稱都能夠準(zhǔn)確地表達(dá)出它的意義,那么閱讀代碼就和閱讀說明書一樣,自然所有的工作就都變得簡單了。

恰當(dāng)?shù)淖⑨尅谀承r(shí)候,注釋還是非常必要的,甚至對于自解釋代碼,有時(shí)還是有必要用注釋來說明一下,畢竟其中還有計(jì)算機(jī)語言無法說明的業(yè)務(wù)邏輯在里面。當(dāng)然,注釋不應(yīng)該是越多越好,某些項(xiàng)目中規(guī)定一定要有30%的注釋量,還是有些值得商榷的。

最后想說說關(guān)于數(shù)據(jù)庫的設(shè)計(jì),我覺得這其中也必須應(yīng)該貫徹簡單就是美的原則,我們應(yīng)該達(dá)到的標(biāo)準(zhǔn)是——直接能理解。

好的數(shù)據(jù)庫設(shè)計(jì)對于系統(tǒng)的開發(fā)和維護(hù)都是非常重要的,特別是對于一些MIS、ERP、MRP等管理軟件,數(shù)據(jù)庫的設(shè)計(jì)在系統(tǒng)的架構(gòu)中會起到舉足輕重的作用。

我想應(yīng)該把握下面的幾個原則:

表中字段不要太多——每個表的字段數(shù)應(yīng)該控制在30個之內(nèi)吧,這個標(biāo)準(zhǔn)可能會因項(xiàng)目而異,只是一個基本的概念。想象一下吧,當(dāng)在項(xiàng)目中遇到一個數(shù)據(jù)表的定義中有超過100個字段的時(shí)候,是不是感覺到很難處理呢?我在工作的過程中遇到過多次,這種大而全的表往往就是問題的多發(fā)地段。

名稱合理——有些項(xiàng)目中,為了預(yù)防,往往會使用一些備用字段,或者放一些不一定代表什么意義的字段,它們的的名稱可能就是一個字母帶數(shù)字,比方說a1 a2 a3……這種字段真的是維護(hù)者的噩夢,它們可能在不同的情況下代表不同的意義,那樣我們不僅僅需要一份數(shù)據(jù)庫說明書,還需要針對每個字段在不同情況下的說明書。如果能夠避免這種情況,每個名稱都清晰地代表自身的意義,那么難度就會大大降低。

其實(shí)這里的原則和編碼的原則基本是相通的,畢竟暫時(shí)我還是以程序員的角度來看待這個問題的。

總之,簡單就是美,就是美啊就是美,你是不是也這么認(rèn)為的呢?:)

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 程序員
    +關(guān)注

    關(guān)注

    4

    文章

    953

    瀏覽量

    29830
收藏 人收藏

    評論

    相關(guān)推薦

    阿里云升級通義靈碼AI程序員,全面上線

    近日,阿里云宣布其備受矚目的通義靈碼AI程序員已正式全面上線,為開發(fā)者帶來更為強(qiáng)大和便捷的編程輔助工具。 此次上線的通義靈碼AI程序員,在功能上實(shí)現(xiàn)了全面升級?,F(xiàn)在,它支持VS Code
    的頭像 發(fā)表于 01-09 11:16 ?274次閱讀

    TMS320C6000程序員指南

    電子發(fā)燒友網(wǎng)站提供《TMS320C6000程序員指南.pdf》資料免費(fèi)下載
    發(fā)表于 12-24 17:19 ?0次下載
    TMS320C6000<b class='flag-5'>程序員</b>指南

    TMS320C55x DSP CPU程序員參考補(bǔ)充

    電子發(fā)燒友網(wǎng)站提供《TMS320C55x DSP CPU程序員參考補(bǔ)充.pdf》資料免費(fèi)下載
    發(fā)表于 12-21 11:36 ?0次下載
    TMS320C55x DSP CPU<b class='flag-5'>程序員</b>參考補(bǔ)充

    UCD3138A64/UCD3138128程序員手冊

    電子發(fā)燒友網(wǎng)站提供《UCD3138A64/UCD3138128程序員手冊.pdf》資料免費(fèi)下載
    發(fā)表于 12-09 14:42 ?0次下載
    UCD3138A64/UCD3138128<b class='flag-5'>程序員</b>手冊

    機(jī)械革命發(fā)布CODE AI程序員

    近日,英特爾新質(zhì)生產(chǎn)力技術(shù)生態(tài)大會在成都舉行,機(jī)械革命作為重要參展商帶來了多款明星產(chǎn)品引爆全場!其中更是在AI PC軟件生態(tài)產(chǎn)品發(fā)布分論壇上,Intel、智譜、機(jī)械革命三方聯(lián)合發(fā)布了專為程序員設(shè)計(jì)的CODE AI程序員本,成為本次大會的一大亮點(diǎn)。
    的頭像 發(fā)表于 11-30 10:34 ?491次閱讀

    Linux驅(qū)動程序程序員指南

    電子發(fā)燒友網(wǎng)站提供《Linux驅(qū)動程序程序員指南.pdf》資料免費(fèi)下載
    發(fā)表于 11-22 15:53 ?0次下載
    Linux驅(qū)動<b class='flag-5'>程序</b><b class='flag-5'>程序員</b>指南

    AI編程工具會不會搶程序員飯碗

    AI編程工具可輔助編程,減少手動編碼,提升效率,對程序員有積極影響也有挑戰(zhàn)。程序員需深化技能、拓寬知識應(yīng)對。長遠(yuǎn)看,AI與人類程序員將共生共榮。
    的頭像 發(fā)表于 11-08 10:17 ?208次閱讀

    第五屆長沙·中國1024程序員節(jié)開幕

    據(jù)官方媒體報(bào)道,10月24日;? 第五屆長沙·中國1024程序員節(jié)在湖南湘江新區(qū)開幕;本次中國1024程序員節(jié)以“智能應(yīng)用新生態(tài)”為主題。設(shè)置有岳麓對話、技術(shù)英雄會、主題峰會及賽事、展覽等活動,一場
    的頭像 發(fā)表于 10-25 15:42 ?228次閱讀

    程序員節(jié)視頻創(chuàng)意大賽,用串口屏贏取千元大獎

    10月24日,程序員專屬的節(jié)日里,我們盛大開啟“程序員節(jié)視頻創(chuàng)意大賽”特別活動!這不僅是一場視覺的盛宴,更是智慧與創(chuàng)意的璀璨碰撞。我們誠摯邀請每一位程序員及編程愛好者,拿起你的鏡頭,記錄下那些平凡日子中的不凡瞬間,讓編程的魅力與
    的頭像 發(fā)表于 07-08 10:38 ?72次閱讀
    <b class='flag-5'>程序員</b>節(jié)視頻創(chuàng)意大賽,用串口屏贏取千元大獎

    程序員節(jié)視頻創(chuàng)意盛宴,邀您共襄盛舉!

    10月24日,程序員專屬的節(jié)日里,我們盛大開啟“程序員節(jié)視頻創(chuàng)意大賽”特別活動!這不僅是一場視覺的盛宴,更是智慧與創(chuàng)意的璀璨碰撞。我們誠摯邀請每一位程序員及編程愛好者,拿起你的鏡頭,記錄下那些平凡日子中的不凡瞬間,讓編程的魅力與
    的頭像 發(fā)表于 07-04 09:00 ?67次閱讀
    <b class='flag-5'>程序員</b>節(jié)視頻創(chuàng)意盛宴,邀您共襄盛舉!

    助力程序員告別困擾已久的夢魘-Bug

    程序員的噩夢是什么?不用懷疑,就是讓你加班到崩潰的Bug!下面是經(jīng)過業(yè)界大佬們“長期加班”積累的小妙招,助力你離早下班又進(jìn)一步~一、定位Bug范圍及性質(zhì)要有效解決問題,首先要縮小范圍,集中關(guān)注最近
    的頭像 發(fā)表于 07-02 08:10 ?374次閱讀
    助力<b class='flag-5'>程序員</b>告別困擾已久的夢魘-Bug

    適者生存,程序員最終會流向哪……

    程序員沒有永遠(yuǎn)的護(hù)城河??!就目前的互聯(lián)網(wǎng)大環(huán)境來看,it行業(yè)已經(jīng)是……
    的頭像 發(fā)表于 03-11 17:11 ?428次閱讀
    適者生存,<b class='flag-5'>程序員</b>最終會流向哪……

    薪資高、青春飯,是不是程序員=青樓?

    花期太短。技術(shù)迭代快,年齡大容易失業(yè)。 就這幾年的互聯(lián)網(wǎng)環(huán)境而言,不管是前端、Java、Android開發(fā)等等行業(yè)。已經(jīng)感受到程序員不是太卷就是工作難找,薪資過低。以前高工現(xiàn)在拿著中低程序員薪資
    發(fā)表于 03-06 21:32

    瑞薩Flash程序員V3 發(fā)布說明

    電子發(fā)燒友網(wǎng)站提供《瑞薩Flash程序員V3 發(fā)布說明.pdf》資料免費(fèi)下載
    發(fā)表于 02-19 09:37 ?1次下載
    瑞薩Flash<b class='flag-5'>程序員</b>V3 發(fā)布說明

    2024程序員的未來方向如何走?還看今朝

    這幾年的IT行業(yè)想必大家已經(jīng)感受到了,Android、Java、前端等等程序員都經(jīng)歷了大廠……
    的頭像 發(fā)表于 02-02 09:45 ?855次閱讀
    2024<b class='flag-5'>程序員</b>的未來方向如何走?還看今朝