關(guān)于Java企業(yè)級項(xiàng)目開發(fā)思想
什么是企業(yè)級項(xiàng)目開發(fā)
"企業(yè)級項(xiàng)目"、企業(yè)級項(xiàng)目開發(fā),Java 也是企業(yè)級項(xiàng)目開發(fā),這個我們到處說、聽,每天被我們掛在嘴邊,可是到底什么項(xiàng)目才算是"企業(yè)級"?自己一直做的小項(xiàng)目或者大項(xiàng)目到底算得上企業(yè)級嗎?也就GXPT算是企業(yè)級項(xiàng)目吧,接下來和大家交流學(xué)習(xí)!
1 . 項(xiàng)目開發(fā)的現(xiàn)狀
一直以來,大小項(xiàng)目在咱們提高班做了算是不少的了,我們都在不停得做項(xiàng)目,趕項(xiàng)目。相信從大家開始做項(xiàng)目到現(xiàn)在,做過了很多大大小小的項(xiàng)目,或多或少也有讓自己很引以為豪的成功了的項(xiàng)目?,F(xiàn)在大家回頭想想,我們的項(xiàng)目一般是怎么做出來的!即便是每個開發(fā)小組是不同的,但是在項(xiàng)目的期限、客戶需求變更中、各個督促下,我們的起碼的實(shí)現(xiàn)、整體的設(shè)計還是差不多的,大同小異吧,拓展性、靈活性差了些。
每次項(xiàng)目到來,幾次會議之后,項(xiàng)目就開始了,開始分配人員,開始分析一些從客戶那里拿來的需求,然后一些骨干的開發(fā)人員就開始為項(xiàng)目搭架子。于是一個項(xiàng)目就算是進(jìn)行起來了。談到了為項(xiàng)目搭架子,專業(yè)點(diǎn)說就是做架構(gòu)了,說是做架構(gòu),其實(shí)就是把項(xiàng)目按照慣例分割為幾個邏輯層,至于說這個架構(gòu)好不好,有什么風(fēng)險,是否可以適應(yīng)以后的變化,采用的技術(shù)的風(fēng)險和可行性分析,這些很少考慮,原因很簡單:一般的都是這么開發(fā)的,應(yīng)該沒有什么大的問題。確實(shí),很多的項(xiàng)目也確實(shí)是這樣的開發(fā)的,而且很多也成功了。這些無可厚非,至于說什么標(biāo)準(zhǔn)不標(biāo)準(zhǔn),是否遵循了什么開發(fā)的原則,沒有多少人在乎,不管怎樣,項(xiàng)目是成功了。
項(xiàng)目開發(fā)中,很多的原則我們是很清楚:什么單一職責(zé),依賴反轉(zhuǎn),什么可測試性,維護(hù)性.....很多時候,在coding的時候,這些原創(chuàng)反倒成了多余,項(xiàng)目最后成為了功能代碼的堆積,特別是在趕項(xiàng)目的過程中,代碼堆積的效果就更加明顯了:只要把功能搞定,其他的以后再說??梢酝@個"以后再說"就成為了"永不再說"、湊合著能實(shí)現(xiàn)就行了,這個也無可厚非。
就這樣,一年又一年,開發(fā)項(xiàng)目,做項(xiàng)目,趕項(xiàng)目。主鍵的很多人隨著項(xiàng)目的進(jìn)行對做軟件開發(fā)后期會變得沒有那么多興趣:原本以為軟件開發(fā)是一種高智商的活動,現(xiàn)在發(fā)覺有點(diǎn)像是體力活。一年一年,一月月的,我們?yōu)橐粋€個不同的客戶開發(fā)出一個個不同的系統(tǒng)。
通過資料表明:公司中……
相信很多公司也常常提出很多很"誘人"的口號:通過做大量的項(xiàng)目,積累和開發(fā)通用組件,組件越多,以后開發(fā)就是僅僅只是堆積木了....但是真正的項(xiàng)目中,客戶不停在催,上頭也在催,最后就沒有人顧及什么通用不通用了。項(xiàng)目開發(fā)是越做越累,相信這也是很多開發(fā)人員轉(zhuǎn)行和轉(zhuǎn)型的原因之一吧?! ?br />
2. 什么是企業(yè)級項(xiàng)目
學(xué)Java這個接觸的越來越近了,時常思考這個問題?企業(yè)級項(xiàng)目是什么? 為一個企業(yè),機(jī)構(gòu),客戶公司開發(fā)的項(xiàng)目就算得上是企業(yè)級項(xiàng)目了嗎?一個很大的項(xiàng)目就是企業(yè)級項(xiàng)目嗎?一個小的項(xiàng)目就算不上是企業(yè)級項(xiàng)目?一個代碼成千上萬上十萬的代碼是企業(yè)級項(xiàng)目嗎?茫然!
其實(shí),一直以來,我個人也對什么是"企業(yè)級"的概念不是很清晰。只是天天是在這么說,米老師也給我灌輸這樣企業(yè)級開發(fā)的思想,剛開始還是真有點(diǎn)滿然,聽著挺高深哈。
說到企業(yè)級項(xiàng)目,隨著而來的有很多概念:企業(yè)級架構(gòu),企業(yè)級開發(fā)。
但是不管怎么說:企業(yè)級這個概念和項(xiàng)目的大小是沒有什么很大的關(guān)系的,甚至可以說是幾乎沒有什么關(guān)系。
其實(shí)企業(yè)級項(xiàng)目其實(shí)就是一帶著一種"企業(yè)級"的思想來做項(xiàng)目。
在文章中的第一部分,我們到了現(xiàn)在我們做項(xiàng)目的方式:代碼的功能"堆積"。通過這種堆積出來的代碼就僅僅只是用于這一個項(xiàng)目,對于以后其他的項(xiàng)目幾乎是沒有什么用處的,也就說代碼的重用行不夠,而且往往在一個項(xiàng)目中,很多的代碼都是雜七雜八的,很多相似的功能都是各自搞出一套代碼。諸如之類的問題,導(dǎo)致項(xiàng)目越做越類,很多美麗的口號化為泡沫。
企業(yè)級的項(xiàng)目起碼有以下幾個特征:
穩(wěn)定性
靈活性
隔離性
重用性
維護(hù)性
相信這些特性大家都不陌生,這些特性我就不具體的解析,大家都清楚。說了這些多,可能大家認(rèn)為我說的是廢話,但是有一點(diǎn)可以說的:現(xiàn)在我們開發(fā)項(xiàng)目確實(shí)很多的時候忽略了這些東西,因?yàn)檫@個忽略,確實(shí)使得項(xiàng)目項(xiàng)目的開發(fā)加快,但是從長期的來看,項(xiàng)目開發(fā)還是越來越累的。如果在開發(fā)的時候,每次帶著一點(diǎn)點(diǎn)這樣的思考,盡量寫出符合那些特性的代碼,慢慢的,一種"企業(yè)級的心智"就慢慢出來了,一個很類似的比喻:在項(xiàng)目中,遇到了一個很難的技術(shù)問題,我們往往花很多的時間來攻克,最后終于搞定。確實(shí)這個攻克的過程我們從思維上可以這樣分析:我們思維和問題的答案之間隔了一道墻,我們一次次的嘗試各種解決方案去攻克問題的時候,我們的思維一次次的在撞擊這道墻,最后墻被撞破,我們也得到了問題的解決方案。
同理,我們在項(xiàng)目中帶著"企業(yè)級"思維,我們就在一點(diǎn)點(diǎn)的撞擊那道"墻",最后的結(jié)果就是:通用的功能被封裝為了通用的組件,為以后的項(xiàng)目的留下積累。
總結(jié)
這里我自己的感觸,本人的"企業(yè)級的心智"也沒有,逐步的積累吧,但是因?yàn)閹е@個思想作項(xiàng)目,在人事的維護(hù)、永和的維護(hù)、善良公社的開發(fā)、考試系統(tǒng)中出現(xiàn)問題的修復(fù)都深刻體會到了,企業(yè)級的思想可以很好地解決實(shí)際中遇到的代碼重復(fù)修改、網(wǎng)站重新發(fā)布、功能的靈活、組件的靈活添加,通過通用性網(wǎng)站網(wǎng)站米老師也是一遍一遍耐心的給我深化這種開發(fā)的理念,個人認(rèn)為思想有了提升,而且還真的得到了不少通用的組件,雖然說組件善待完善,但是已經(jīng)有了些甜頭。對系統(tǒng)后期的維護(hù)的成本也是大大的降低,企業(yè)級開發(fā)思想在Java學(xué)習(xí)中面面俱到啊,GXPT中師哥們也利用這種企業(yè)級開發(fā)的理念在大顯身手啊。
本文關(guān)于Java企業(yè)級項(xiàng)目開發(fā)思想的內(nèi)容就到這里,希望對大家有所幫助。歡迎大家參閱本站其他相關(guān)專題。
相關(guān)文章
maven關(guān)于pom文件中的relativePath標(biāo)簽使用
在Maven項(xiàng)目中,子工程通過<relativePath>標(biāo)簽指定父工程的pom.xml位置,以確保正確繼承父工程的配置,這個標(biāo)簽可以配置為默認(rèn)值、空值或自定義值,默認(rèn)情況下,Maven會向上一級目錄尋找父pom;若配置為空值2024-09-09利用Java實(shí)現(xiàn)動態(tài)加載數(shù)據(jù)庫
這篇文章主要為大家詳細(xì)介紹了一個java小案例,即動態(tài)加載數(shù)據(jù)庫信息,文中的示例代碼簡潔易懂,具有一定的學(xué)習(xí)價值,感興趣的小伙伴可以了解一下2023-10-10java開源調(diào)度如何給xxljob加k8s執(zhí)行器
這篇文章主要介紹了java開源調(diào)度如何給xxljob加一個k8s執(zhí)行器,?xxljob?在設(shè)計上,抽象出了執(zhí)行器的接口,所以實(shí)現(xiàn)一個語言的執(zhí)行器并不復(fù)雜,這里主要探索下,如何利用k8s的pod?的能力,使用?xxljob?調(diào)度?pod?運(yùn)行,實(shí)現(xiàn)一個通用的和語言無關(guān)的執(zhí)行器2022-02-02java中應(yīng)用Stack進(jìn)行算術(shù)運(yùn)算的操作
這篇文章主要介紹了java中應(yīng)用Stack進(jìn)行算術(shù)運(yùn)算的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03java基于OpenGL ES實(shí)現(xiàn)渲染實(shí)例
這篇文章主要介紹了java基于OpenGL ES實(shí)現(xiàn)渲染,實(shí)例分析了OpenGL渲染操作的相關(guān)技巧,需要的朋友可以參考下2015-06-06