你見過什么爛代碼?
工作也十多年了,爛代碼見過不少,也寫過不少(慚愧慚愧),那就盤點一下這些年我見過的爛代碼。
編譯不通過的代碼就不在這里提了,只討論一下可以運行的代碼:
讓別人看不懂的
-
變量命名沒有含義的:String a;int b;
-
不寫注釋的
-
改了代碼不改注釋的,比上一點更過分
-
一個類/方法能寫幾千行的,跟蹤代碼那叫一個累
-
使用版本控制工具,提交的時候亂寫提交日志的

不考慮性能的
功能實現了不見得就是好代碼,常見問題:
-
最常見的問題:寫sql的時候不考慮效率,測試環境一跑沒有問題,上了生產,數據量一大就跑不出來結果了
-
為了保險起見,做兩次update的(見過么?看到那段代碼的時候我都服了)
-
還有莫名其妙sleep(3000),難道是為了下一次改成sleep(2000),就說自己優化程序了?

改動起來很費勁兒的
功能實現了,效率也沒問題,也不見得是好代碼:
-
該抽象的不抽象出來,明明可以只改一行代碼,但是需要改動很多地方
-
代碼分層不明確,或者明明是controller層非要寫點兒業務邏輯
-
過度耦合
改動起來無從下手的
-
見沒見過一種很神的代碼:很重要,運行的很穩定,但是你看不懂,稍微改動一小處,整個代碼就不能用了。
還有一種“爛代碼”相信大多數人都寫過,就是剛學到一個算法/設計模式/新技術什么的,非得想方設法寫到代碼里面,并沒有考慮合適不合適。

