為什麼有些程序員不願意縮進代碼?

黃尚雲


難道我這麼幸運麼?我還沒有遇到過不縮進代碼的程序員。


因為我是做Java開發的,我們圈子裡面只有四個空格派和一個Tab派。


為什麼要縮進代碼?

原因非常簡單,就是提高代碼的可讀性。(也有很多語言強制代碼縮進,比如Python)

隨便找到一段代碼,看看縮進和不縮進的效果,顯而易見,有代碼縮進的可讀性更高。



其實不只是代碼縮進,還有很多的代碼規範需要遵守。如果所在單位沒有代碼規範的話,建議大家參考一下《阿里巴巴Java開發手冊》。


另外,因為每個程序員的風格不同,我喜歡table,他喜歡空格;我喜歡括號在每行代碼最後,他喜歡括號另起一行,代碼規範是管理上的規範,我們也可以採用一些強制性的措施去統一代碼風格。比如Maven的一些插件,例google-java-format。(個人不是很喜歡,大家可以嘗試)


希望我的回答,能夠幫助到你!

我會持續分享Java程序開發、架構設計、職業發展等方面的知識和見解,希望能得到你的關注今日頭條【會點代碼的大叔】,轉載請註明出處。

會點代碼的大叔


作為已經寫了十幾年代碼的老程序員,雖然在編寫代碼的時候大部分情況還是遵循編碼規範,但在這基礎上會展示自己一些特性,有些程序員不喜歡縮進代碼也是源於此,如同一個人長得什麼樣子靠體徵能夠判斷得出,本身誰寫的代碼也會帶有一定特性,很多程序員喜歡在寫的代碼註釋上面擺個佛祖保佑,等等之類小特性東西,有的喜歡採用windows式編程風格,有些喜歡linux式的編程風格,當然這些習慣的養成主要和前期的工作性質有一定的關聯。

如果前幾期從事的工作在windows系統下開發基本上代碼風格windows風範,開始寫代碼都是先會模仿,然後慢慢形成自己風格,這個風格的形成還有當時做項目場景以及遇到的直接主管都有一定關係,有個同事編程底子特別紮實,特別是c++方面,有一次吃飯聊到這個話題,他說是被逼出來的,剛入行的第一家公司直接主管有點強迫症,看到寫的不好的代碼就進行嚴厲的批評,那同事屬於慢熱型的接收事物比較慢,結果經常挨批評,被罵了幾次就開始非常注重代碼質量了,寫的時候非常小心,後來被主管說代碼的可讀性不好,改了幾次還不是很滿意,於是就照著主管的風格來了,到現在已經寫了將近20年代碼了,還是那種風格,每次說起這件事總會對之前的主管充滿了感激之情,還會在逢年過節的時候打個電話問候下,並且表達感激之情,據說已經是某公司的老總了,早期從事軟件開發的老程序員基本上不是獨自創業就是合夥創業,並且有很大一部分人已經功成名就了。

程序員的代碼風格一旦養成很難改變,如同有些公司喜歡自己招收應屆生培養成自己公司風格的人,這在行業內叫做可塑性,一般來講新人的可塑性會更高點。五年以上的程序員很難改變其中風格了,但優秀的程序員除外,優秀的程序員基本上都具備一種特性不斷的重構,修正身上的不足之處,所以可以看到很多已經做了很多年的程序員還是在修正自己的風格,從代碼風格的變化能看出一個人對待代碼的態度,現在很多程序員有一種不好的習慣,明明寫的代碼不符合規範,也不去修改還要當成一種特性,如同很多人對程序員產生一種誤解,不通宵加班程序員都不是什麼高手,高手都是白天睡大覺晚上有靈感寫代碼,絕大部分程序員都是白天搞代碼,晚上好好休息,所以不能因為一些癖性混淆造成以偏概全,優秀的程序員在發現自己不足的時候都會選擇優化改進,不會執迷不悟。

要想成為一個優秀的程序員首先是要,懂得優化自己代碼,逐漸形成優勢的特性,而不是以不規範的特性引以為傲。正式自己的缺點,不停的修正改正,才是走向優秀程序員的正道。


大學生編程指南


我想可能有以下幾種原因吧:

第1,懶,誰也不想多按幾個鍵。雖然只有幾個鍵,但一個項目下來,可以節省好多體力。多數人的潛意識裡認為,牛比的程序,就是讓你看著吃力的程序。不縮進正好契合這種精神,無形之中又裝13了一回,何樂而不為呢?


第2,縮進代碼有兩種方式,一是用空格,二是用tab鍵,不同的編輯器對待這二種方式有所有不同,在每個編輯器中,都可以設置是否把tab轉成空格,並且設置一個tab轉換成幾個空格,如果設置不同,則打開就會大亂。 如此一來,就乾脆不縮進了。


第3, 現在有自動格式化的工具,在寫代碼時,集中精力關注在業務邏輯上,格式化的事,交給自動化的格式工具去做。讓機器為人分擔一部分工作,豈不美哉?


第4,信仰問題。如果你喜歡用空格,你女朋友喜歡用tab, 你們會為孰優孰劣而爭吵,久而久之,影響感情,可能會導致分手。這個問題很嚴重,所以就乾脆不用了。 這不是天方夜譚,在HBO的喜劇片《硅谷》第三季中,不同的縮進風格竟然直接導致兩位程序員分手,請看下圖:



瘋牛踢


我是souvc,在互聯網公司做研發工作,很高興為您解答。

一方面

如果不願意做這些事情,估計是太忙或者這些項目被修改過或者機器自動化格式的時候把原來的格式覆蓋掉了。

另一方面

如果看到沒有縮進的代碼或者代碼格式的代碼,那麼就會感覺這個人也許也是很糟糕,不修邊幅,並且這個人的思維可能會有點問題。編碼的習慣是會體現出一個人的修養以及習慣。有好的編碼規範,就有好的軟件,健壯的系統。

額外倆點有編碼規範的好處:

1、好的編碼規範可以儘可能的減少一個軟件的維護成本 , 因為幾乎沒有任何一個軟件,在其整個生命週期中,均由最初的開發人員來維護;好的編碼規範可以最大限度的提高團隊開發的合作效率;

2、好的編碼規範可以改善軟件的可讀性,可以讓開發人員儘快而徹底地理解新的代碼;長期的規範性編碼還可以讓開發人員養成好的編碼習慣,甚至鍛煉出更加嚴謹的思維。

如果是java 的話,推薦阿里官方推出的編程語言規範。

大家還有什麼好的建議呢?可以在留言區一起參與討論。


souvc


感覺回答了一個假問題。你看到的不縮進的程序員,可能是個假程序員,要麼用人單位是個假單位。回答完畢。


i家保


寫慣了Python就覺得不縮進難受……至少也美觀不是嘛……看前端JS都必須要要Chrome插件json view,不然渾身難受


趙子聾


有些平臺,不支持哪麼長的代碼,行數超多,系統支持不了,必須壓縮。這也是一種情況


UiMaker


不整理代碼我可以直接理解為平時根本沒寫過長度超過100行的代碼。


冷麵殺手213


換個好點的IDE吧,VS都是自動縮進的


魅力小婷姐她二哥


不縮進,不是合格的程序員


分享到:


相關文章: