鄭州軟件開發之如何做到面向對象
發布者: 鄭州軟件開發 10-08
俗話說條條道路通羅馬,只要能夠解決問題那都是好辦法。鄭州軟件開發!
1. 產品需要滿足用戶需求。
每天都在用windows、ie、word、firefox等,都很好用,但對用戶來講誰關心后面的代碼、架構是什么樣子。
生產線上的人每天都在用你寫的產品,他們只關心產品是否能準確地完成功能,沒有故障,操作是否方便。有很多人覺得架構不好,代碼ugly,所以重寫產品。
我們每天面對著一行行代碼時,是否能多想想這些代碼怎樣方便的幫助用戶完成想要的工作?它們怎樣才能幫助公司實現更多的利潤,幫助客戶實現更大的價值?新的設計思想的運用、代碼中隱藏的每個錯誤會給項目帶來什么影響,會給客戶造成什么損失?
這些不僅僅是老板、架構師、項目經理的責任,項目中的每個人應該有比較深刻的認識,才能做出好產品。程序員的職業生涯想要往高處走,哪怕是升為一個高級程序員、架構師,都需要不斷的將目光關注在這些方面。所以不要一天到晚只盯著代碼看問題,總跟代碼過不去。
2. 產品需要滿足市場需求,滿足市場運作策略。
很多程序員出身的,后來做項目經理了,做銷售了,不少已經在做老板了,多了解一下他們面臨的問題,他們的想法。也許不久之后你也打算創業做老板了。
沒有多少項目能夠像暴雪那樣,動不動寫個6、7年,產品推出來還能保證巨大的市場成功,Vista寫了5年已經很長,再寫個幾年可能要失控。尤其國內這種激烈的競爭環境,慢個半拍人家就已經把它做的很好了。
所以老板有市場壓力,項目經理需要承擔項目周期與質量壓力,需要處理各種技術、未知故障風險。
很多時候老板的要求并不是錯的,客戶的要求并不是不合理的,只是你沒有理解,所以都被你宣判為無理的、搞笑的、不適合產品開發的要求。所以心里開始抵觸, 不能全面的配合老板、經理實現目標,有時候做出來的東西牛頭不對馬嘴。最后老板說程序員不可思議,程序員說老板真差,double-lose!
3. 不要盲從。
"不要迷失在技術的海洋中"應當也是這個意思。
看《領域驅動設計》,作者開始就說了這種方法不是萬能藥,他的不少項目使用這種方法都失敗了。看《企業應用架構模式》,作者并不會告訴你你的項目應該用領 域模型、事物腳本還是表模塊,要根據實際狀況選擇。最近剛開始看《分析模式》,每一種模式都從簡單到復雜講述,但一開始作者就提出了根據需求具體選擇采用 簡單方式還是復雜模型,正確實現需求的就是好模型,不要盲目的為產品做過多假設。
盡管Martin Fowler和Eric Evans都受敏捷思想的影響,這不是關鍵,其它書籍也差不多如此。他們提供的只是一種方法、思想,具體環境具體運用,開篇不起眼的一些話,在理解了這些思想之后,這些話才是最重要的。
一個經理如果總能按園子里大家的想法來管理、開發產品,極有可能是一個徹底失敗的經理。
4. 產品需要積累。
產品的成熟并不是指代碼多漂亮,架構多完美,這些東西只占據比較小的分量。產品成熟更多的是指產品功能、性能、穩定性、用戶使用性,以及從業務功能、運營部署要求面看起來一定的靈活、擴展性。
很多時候會聽到這種話:這個項目這么簡單,真搞不懂他們怎么花了那么長時間;這么簡單一件事,想不透為什么寫的這么復雜。
仔細看過上面推薦的兩個鏈接,結合自己的經驗很容易理解,很多非常ugly的代碼中隱藏了不少疑難雜癥的修復知識,這是一個方面。
另外一個方面,將需求一步步收集起來,將產品從無到有做起來,能夠滿足用戶要求在生產線上運行起來,不是件容易的事情,這個里面很多困難你想不到,交給你重做一次未必比前人做的好。
很多人在學習設計模式,很多人每天都在不斷的重構代碼,有沒有人實際的去關注過,你做的這些工作,真的給產品、給用戶帶來了多少好處,實現了多少價值。其實脫離實際需求,程序員拍腦袋想的很多東西,花了很大精力去實現,可能從頭到尾就沒有發揮過作用,或者作用非常有限。
很多時候你發現自己負責的產品很靈活、功能很強,可是到用戶那邊,到下一個項目/客戶,新的需求非常多,不少時候已有架構無法滿足。
比較長一段時間內,要象大家討論的方式來做項目,象不少程序員心中想象的情景去開發一個產品,是不大可能的。我們只能不斷的在項目中做小的修改來積累產品,在適當的時候做一些大的調整來改善產品。
如果從產品最開始就采用大家推崇的各種方法、思想來做一個產品,這個產品成功的概率多大?
不要說小公司才有這種爛做法,沒有心胸的經理才會否定這種做法,看看Oracle、MS、HP等,看看印度的軟件工廠,難道都是采用大家理想的做法?
保證第一個版本可用,第二個版本好用,第三第四個版本能夠通用,不是代碼層面,而是功能層面的,相信不少公司產品都是這樣的戰略。這里不僅有市場策略,也有產品項目迭代開發方式,功能的逐步完善、用戶反饋等等其它各方面的考量因素。
最后:
看待問題不要太單純,面向對象也好非面向對象也好,存儲過程也好SQL也好,多探討交流讓大家都加深認識就行了,至于實際環境應該采用什么方式,都不能做定論。
不少程序員、開發團隊確實是得過且過,對未掌握的東西不大愿意去了解,因陳守舊,也確實是一個方面,有的是本身上進心不夠,有的是生活或其它壓力太大,工 作的事情只是敷衍。既然是在園子里活躍的,應該大部分不屬此列,所以更應該注重的是注意改變自己的視角去分析問題,使自己的技術研究更有針對性方向性,看待問題更全面。
不平凡軟件,鄭州軟件開發公司,鄭州軟件開發,鄭州軟件定制,鄭州微信開發,鄭州進銷存定制開發,鄭州OA系統開發,鄭州軟件開發公司!