程序員寫的代碼是不是越少越好?寫代碼和做產(chǎn)品一個意思,一開始做加法,然后開始做減法!

就我個人而言,能用一行代碼搞定的事,休想騙我用十行!

但是在剛開始做開發(fā)的時候,由于對語言特性,思想,基本數(shù)據(jù)結(jié)構(gòu),API的不熟悉,我們可以寫更多的代碼來增加自己對編程語言的理解,但是此時的多不應(yīng)該理解為代碼量的多,而是實(shí)現(xiàn)方式的多,比如說map的遍歷就有多種方式,ketSet,entrySet,迭代等多種方式,如果在一開始使用的時候就只會一種,那么在某些特定的場景里可能并不適用,所以做編程一開始應(yīng)該學(xué)會做加法!

程序員寫的代碼是不是越少越好

等到熟悉了基本的開發(fā),怎么能用最簡便,最清晰的方式做開發(fā)變?yōu)橹攸c(diǎn),應(yīng)該使用最簡單的方式實(shí)現(xiàn)業(yè)務(wù)代碼。

舉個栗子:一個對象list按照某個字段進(jìn)行分組,需求很簡單,怎么實(shí)現(xiàn)呢?

首先new一個map>,遍歷list,new一個list1,將對象字段作為key,對象放入list1,然后作為value放入map,遍歷第二個元素的時候,需要判斷這個key是否存在,如果存在,取出存在的list1,將對象放入,如果不存在,new一個list2,將字段作為key,list2作為value放入map,代碼實(shí)現(xiàn)大概有10行的樣子(具體代碼不想寫)。

但使用JAVA8的流式處理,就一行代碼如下:
是不是超級簡單?

很多時候,我們代碼的簡化,得益于源語言的不斷升級,所以在實(shí)際開發(fā)中我們需要不斷的擁抱語言帶來的新特性,和別人分享的開發(fā)技巧,來簡化開發(fā)流程!

程序員寫的代碼是不是越少越好

就JAVA語言而言,相對其他的go,scala等都略顯笨重,比如使用設(shè)計模式進(jìn)行開發(fā),很多代碼都是一開始看沒有必要的,但是在后期擴(kuò)展的時候,會發(fā)現(xiàn)十分容易,整個架構(gòu)也很健壯,使用必要的更多的代碼換取程序的健壯性,可擴(kuò)展性是值得的!

綜上,代碼并不是越少越好,切勿偏離了代碼設(shè)計最基本的原則(可擴(kuò)展性,單一原則,健壯等)。