成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Java程序員的錯

開發(fā) 后端
這些年來,在我見過的各種 Java 代碼中,我發(fā)現(xiàn)這最大的問題是,寫代碼的人癡迷于把自己當(dāng)作架構(gòu)師。他們很喜歡這樣,在我閱讀他們的代碼時,經(jīng)常會發(fā)現(xiàn)這些代碼與其說是去真正的解決一個問題……

 

Java 程序員是有問題的。我使用 Java 編程已經(jīng)有 10 多年的歷史。同時,我還有過大量的使用其它語言開發(fā)的經(jīng)歷,比如C#, C, C++, Python, Lua, Objective-C 等等,我認(rèn)為這些經(jīng)歷在對我認(rèn)識 Java 程序員的問題上起到了巨大的幫助。很多人說 Java 是一種很糟糕的編程語言。我不同意。Java 語言有它自己的缺點,但我想,很多時候,當(dāng)你看到 Java 在有些地方讓人很多人不爽時,那本質(zhì)上不是 Java 語言的問題,而是它被錯誤的使用。

這些年來,在我見過的各種 Java 代碼中,我發(fā)現(xiàn)這***的問題是,寫代碼的人癡迷于把自己當(dāng)作架構(gòu)師。他們很喜歡這樣,在我閱讀他們的代碼時,經(jīng)常會發(fā)現(xiàn)這些代碼與其說是去真正的解決一個問題,事實上更像是為了解決一個問題而規(guī)劃的一個藍(lán)圖模板。這兩者之間并不是細(xì)微的差別。你會看到繼承很深的抽象層和成堆臃腫的樣板式的代碼。由面向?qū)ο蠖Q生的子類超生現(xiàn)象無以復(fù)加。你根本無法一眼看明白、理解這些代碼是干什么的——你需要一層層深入挖掘,你需要理解它的整套濫用的術(shù)語和折磨人的詞匯(“AbstractAdapterFactory”),你必須要把自己當(dāng)成系統(tǒng)的一部分。我已經(jīng)記不起來上一次看到一個不是這種情況的 Java 項目是什么時候了。

導(dǎo)致在 Java 王國里代碼最終總會變成這樣的原因有很多。Java 語言自身要承擔(dān)一定責(zé)任。Java 平臺的 API 就是上面說的這些問題的典范,于是,善良的程序員們沿襲標(biāo)準(zhǔn)類庫里體現(xiàn)出來的編碼規(guī)范和風(fēng)格,將之當(dāng)作通用的好的編程原則,一下子就誤入迷途。Java 語言還會對程序員強(qiáng)迫施加一種上層的形式主義和啰嗦,以至于***你不得不習(xí)慣了這樣的風(fēng)格,當(dāng)看到其它語言的簡潔語法時,反而感覺就像它們都是沒穿衣服的裸體——這就是“斯德哥爾摩綜合癥”(譯注:來源于 1973 年發(fā)生于此地的一次銀行搶劫案中,一個人質(zhì)浪漫地被她的劫持者吸引住了)。

面向?qū)ο蟮牧餍胁糠衷蛞彩沁@種心理作用造成的。有越來越多的程序員開始退后一步用整體的眼光認(rèn)識 Java,他們發(fā)現(xiàn),作為一種編程模式,面向?qū)ο笳娴氖窍喈?dāng)?shù)脑愀狻H欢琂ava 是***限度的根植于面向?qū)ο竽J剑绻麤]有面向?qū)ο螅琂ava 寸步難行。即使是今天,你仍然能看到大學(xué)里的編程課程嚴(yán)重的偏向面向?qū)ο螅罅康氖褂?Java 授課,相比起 10 年前、5 年前要普遍的多。

雖然 Java 語言非常的流行,在企業(yè)軟件開發(fā)里被普遍的采用,但這一點都無助于 Java 編程質(zhì)量的提高。我坦白的說,你在各種企業(yè)產(chǎn)品里看到的大量的 Java 代碼都是由非常低質(zhì)量的程序員寫出來的。

非常糟糕的是,這些問題并不是只體現(xiàn)在代碼上,而是在整個 Java 生態(tài)系統(tǒng)上也是如此。不論是你使用的 Java 單元測試工具、依賴關(guān)系管理工具,還是模擬框架,即使是很小的 Java 程序,你也逃離不了它周邊龐大的系統(tǒng)。Java 程序員無能為力——讓他們開發(fā)一個小功能,你必然會看到一個繼承 15 層的類工廠(factory)的出現(xiàn)。

今天,我在學(xué)習(xí) Gradle 框架,很顯然是因為最近它在 Android 開發(fā)社群里很火。Gradle 來自于 Java 世界,所以它繼承了上面我說的所有的 Java 所具有的問題。正像 Tim Bray 最近抱怨的:

“我的瀏覽器打開的是 Gradle 文檔的一頁:第 50 章.依賴關(guān)系管理。它有 63 個小章節(jié),劃歸在 10 個一級章節(jié)下,這是第 50 章,文檔一共有 65 章(包括五節(jié)附錄)。”

Android——如果說除了那些開發(fā)企業(yè)軟件的人,還有人會在意 Java,那一定是因為它——它沿襲 Java 的老路,走的更遠(yuǎn)。你會習(xí)以為常的發(fā)現(xiàn),在讀一頁 Android API 文檔時,你根本不知道它究竟是在說什么。當(dāng)然,最終你會弄明白,你需要繞道弄清楚其它 17 個類才行。什么?這讓你吃不消?你顯然不具備學(xué)習(xí) Java 系統(tǒng) API 的百折不撓的精神。你會變成一個 Loser。

谷歌公司里開發(fā) Android 的工程師忙于構(gòu)筑偉大的系統(tǒng)框架,沒有時間解決真正的問題。

我是一個 Android 程序員,我討厭 Java。它讓我很受傷。

英文原文:Java Developers

譯文鏈接:http://www.techug.com/java-developers

責(zé)任編輯:林師授 來源: techug.com
相關(guān)推薦

2015-09-02 08:54:35

程序員項目經(jīng)理

2017-09-04 13:02:00

程序員

2012-11-08 09:49:30

C++Java程序員

2013-08-20 09:33:59

程序員

2012-11-02 13:47:31

Java程序員編程

2020-01-06 09:14:59

Java程序員線程

2011-05-13 14:34:02

程序員

2017-10-14 15:44:29

代碼Python陷阱

2012-11-22 14:00:26

程序員

2017-11-14 21:30:15

2012-03-06 09:22:46

程序員

2017-10-12 10:30:39

Python陷阱與缺陷

2022-04-12 09:28:46

gccJava程序員

2013-04-15 10:55:09

程序員

2009-12-14 09:29:00

程序員

2010-08-27 10:34:51

程序員

2012-02-14 09:13:51

程序員

2012-03-13 10:55:00

程序員

2015-09-24 08:43:13

程序員未來

2012-06-23 17:21:18

程序員
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 欧美日韩一区二区在线 | 日韩国产一区二区 | 九九久久免费视频 | 久久精品亚洲国产 | 黄网站在线观看 | 日日干夜夜干 | 久久久久久久久中文字幕 | 黄色毛片一级 | 久久久成人免费视频 | 国产一区免费 | 欧美视频1区 | 亚洲va欧美va天堂v国产综合 | 欧美亚洲国产成人 | 欧美综合久久久 | 一级在线观看 | 日韩在线视频播放 | 成人精品鲁一区一区二区 | 91视频在线观看 | 国产精品美女久久久久aⅴ国产馆 | 美女黄网站 | 欧美a在线| 成人 在线 | 久久免费精品 | 青青草一区 | 国产乱人伦精品一区二区 | 天天干天天干 | 天天天操 | 中文字幕在线免费观看 | 亚洲精品久久久久久久久久久久久 | 亚洲人精品午夜 | 国产精品久久九九 | a级片播放 | 人人看人人草 | 人干人人| 久久久久久久久91 | 男人av在线播放 | 日韩精品一区二区三区中文在线 | 亚洲精品一区在线 | 高清亚洲 | 亚洲精视频 | 久久精品国产一区二区电影 |