亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

給JAVA設計開發新手一些建議和意見(1)

2019-11-18 11:49:24
字體:
來源:轉載
供稿:網友

  為了給朋友同事一些設計問題上的指導,特撰寫此文,很多觀點都是從別人的文章中獲取,有些觀點肯定也有偏頗,有些觀點也僅僅是提出并沒有做具體論述,請多拍磚,以便改正。
  
  【概述】
  在工作中,作為一個程序員或者一個設計師,總是要設計一些函數庫或者一個框架,當然最經常的還是做項目,即使是一個項目,也會被經常改動,甚至交給別人改動。
  
  當你做這些工作的時候,你的這些成果都是要給別人了解使用的,或者說給以后的你使用的,為了別人的方便或者為了自己的方便,我們要盡可能做好設計。
  
  【放正心態,任何東西都是不斷發展的】
  
  技術是日新月異的,每一天都有新的技術出來,正所謂"山外有山,人外有人",每一個新的輪子出來,都可能比你要設計的輪子好,所以在設計的時候,應該了解一下是否已經有了類似的輪子,是否要設計一個新的輪子。
  
  即使你的輪子已經設計好了,也不好認為自己的輪子一定比別人的輪子好,雖然你的輪子可能更適合你的實際使用。
  
  技術在不斷的發展中,你以及你的朋友/同事都在不斷進步,"士別三日,當刮目相看",所以不要認為你的水平一定比別人高,"尺有所短,寸有所長",所以別人對你的函數庫/框架提出意見,提出疑問的時候,請不要驚異,不要反感,不要認為別人在"挑刺",也許你的函數庫/框架早就不適合當前的發展了。
  
  態度決定一切。你的領導或許更重視這一點。
  
  【必要的組成部分:單元測試,文檔,實例,手冊etc】
  
  單元測試,文檔,API Doc,手冊,演示程序,Change Log,Readme,build。xml等等
  
  有一天別人使用了你設計的函數庫/框架,當你升級后,原來的項目卻不能工作了,經過一天的調試,你終于找到了原因,原來是不小心寫錯了一個東西。
  
  你肯定不希望上述的事情發生,那么請你寫單元測試吧,這樣既不浪費自己的時間,也不耽誤別人的工作,何樂而不為。你花在寫單元測試的時間/帶來的樂趣和你升級后改正莫名其妙的錯誤的時間和苦惱相比,肯定更有價值。你看到單元測試的綠條,難道不感到興奮嗎?!
  
  假如你不能保證你的程序修改沒有錯誤,不要指望你的同事認為你的錯誤是可以容忍的,他們在心里早就開始罵你了,呵呵。寫單元測試吧
  
  看看任何一個知名的框架,都包含完善的文檔,單元測試,示例程序,用戶手冊,那么請你也包含這些吧。哦,對了,請具體地寫好javaDoc,它很重要。
  
  使用你的框架/函數庫的人假如到處去找使用方法,去找某個類(但是他不知道是否有這個類),那么說明你的文檔沒有到位。假如你希望別人使用你的這個類或者功能,那么請寫好文檔,不要指望別人去讀你的源碼然后就能理解它是干什么用的。
  
  假如你做到這些,那么你的函數庫/框架也有了"知名"的前提,難道不是嗎?假如沒有,我想是沒法讓別人更好地使用的。
  
  對了,有了這些東西,還要有一個良好的目錄組織,這個也可以參考別的框架的組織方式。
  
  【借鑒成熟的設計,參考已有的項目】
  
  1.要做一個新的東西,沒有想法。不要驚奇,我肯定先找一個現有的東西來借鑒。
  
  當然前提是不要重新發明輪子,或者是你有充分條件要重新發明一個輪子。
  
  Struts,WebWork,SPRing等等都是成熟的框架,不管你使用起來是否符合你的習慣。
  
  在你成為大師之前,你的設計思想估計前人都已經提出并實踐過了,所以要勇敢地去借鑒。"站在巨人的肩膀上"我們能更近一步。
  
  例如我們厭倦了在訪問數據庫時使用如下的代碼:
  
  try
  
  {
  
  //your code here
  
  }
  
  catch(Exception e)
  
  {
  
  //catch Exception
  
  }
  
  finally
  
  {
  
  //must do something
  
  }
  
  我們就可以借鑒Spring框架的JdbcTemplate類,看看它是如何利用回調函數來處理的。
  
  我們使用hibernate時是不是也會使用類似上面的代碼,那么可以參考Spring框架的HibernateTemplate。
  
  借鑒也是一種捷徑。
  
  警告:借鑒但不要抄襲,借鑒代碼要注明來源,尊重他人也是尊重自己。
  
  2.在實際的項目中,往往可以參考已經有的項目來做自己的設計。
  
  例如做一個網站,我不知道如何訪問數據庫,如何布局,如何分層,那么我們可以參考已經有的網站程序,看看別人是如何利用SiteMesh或者tiles布局,如何使用Hibernate來訪問數據庫或者使用已經封裝好的JDBC類來訪問數據庫,如何利用Struts,WebWork或者其他訪問來分層。
  
  【遵守約定俗成的一些做法】
  
  為了使別人更方便地使用你的東西,那么在設計一些通用的函數或者類的時候,請遵守通用的做法,不要與眾不同,除非你的內部實現確實與眾不同。
  
  例如實現一個類似ArrayList的類,那么請不要這樣寫:
  
  public int count()
  
  {
  
  return list。size();
  
  }
  
  public Item getItem(int i)
  
  {
  
  return list。get(i);
  
  }
  
  而應該這樣:
  
  public int size()
  
  {
  
  return list。size();
  
  }
  
  public Item get(int i)
  
  {
  
  return list。get(i);
  
  }
  
  當然每個人都有自己的想法,假如你非常認為你原來的方式比普通的好,那么請提供2套方式供別人選擇。它不會給你帶來麻煩,只是一個一看就懂的做法,不用懷疑,這樣做有好處。
  
  很多類的設計都有一些約定俗成的做法,那么在你設計一個新類的時候,先借鑒一下吧,多看看JDK的源碼/文檔,看看別人是怎么實現的。這更有助于推廣你的成果。
  
  【不要迷信權威】
  
  在使用已有的框架或者函數庫時,不要認為所有的東西都是正確的或者是最好的最好,肯定不是。沒有完美的東西,已經存在的東西在設計的時候因為種種局限或者因為作者的水平,對現在來說肯定存在不合理的設計,或者過于理想化的設計,而不能滿足實際情況。
  
  不迷信權威,才能到達新的境界。
  
  【不要輕易排斥,不了解就不要草率發表意見,要嚴謹】
  
  在網上經??吹?。Net和Java的比較/火拼,或者是Struts VS Webwork或者是其他等等,非常之多。經??吹降氖且环綄Ψ降臇|西不甚了解,就開始批評,結果說不到點子上,反而被嘲笑一番。
  
  幾種技術的比較有時候是必要的,例如技術選型的時候。但是假如一些對這些技術根本不了解的人來選型,來評判,你能對結果信服嗎?
  
  存在就是合理,任何技術都有其存在的理由,雖然有些東西早就過時了,但是在當時它也是應運而生的。
  
  幾種技術,都是來解決同樣的問題,但是問題也有很多方面,解決方式也有很多種,每個人的想法也都不一樣,思路也不一樣,所以沒有絕對符合要求的技術,但是應該有符合你的技術,不符合你的技術不等于也不滿足別人的要求。所以不要輕易排斥別的東西。
  
  在做技術比較的時候,假如你不了解,那么請不要輕易發表意見,至少你可以親自去了解,去實踐之后在發表你的意見豈不是更好。
  
  在發表意見的時候,也要嚴謹,不要輕易下結論,要經過求證,否則一旦錯誤只會讓對手笑話,讓你的同事看不起你。例如你說Hibernate3不支持jdk1。3,那么最好去好好找到你的證據,否則就會成為錯誤。(Hibernate3支持jdk1。3)
  
  作為一個技術人員,嚴謹應該是我們的習慣之一,無論做開發還是做設計。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美性xxxxxxx| 亚洲美腿欧美激情另类| 欧美亚洲一区在线| 91亚洲va在线va天堂va国| 精品国产电影一区| 久久婷婷国产麻豆91天堂| 国产一区二区三区久久精品| 久久久久久久成人| 久久久精品免费视频| 日av在线播放中文不卡| 中文字幕日韩视频| 日本午夜人人精品| 亚洲乱码一区av黑人高潮| 国产亚洲精品91在线| 久久久久久欧美| 91tv亚洲精品香蕉国产一区7ujn| 日韩免费高清在线观看| 国产一区二区三区丝袜| 国产成人小视频在线观看| 粉嫩av一区二区三区免费野| 亚洲美女性视频| 日韩av一区二区在线观看| 欧美整片在线观看| 2019中文字幕在线观看| 欧美在线播放视频| 日韩理论片久久| 亚洲色图国产精品| 国产精品久久av| 国产精品视频地址| 日本中文字幕不卡免费| 欧美亚洲成人精品| 韩国美女主播一区| 欧美精品久久久久久久| 亚洲综合色激情五月| 国产精品444| 日韩成人在线网站| 美女福利精品视频| 亚洲在线视频福利| 日本免费一区二区三区视频观看| 色噜噜狠狠狠综合曰曰曰| 一区二区三区四区在线观看视频| 亚洲精品资源美女情侣酒店| 日韩免费高清在线观看| 日韩欧美亚洲国产一区| 国产a∨精品一区二区三区不卡| 日韩av观看网址| 亚洲精品小视频在线观看| 欧美激情欧美激情在线五月| 亚洲国产精品系列| 青青精品视频播放| 91久久精品久久国产性色也91| 中文字幕亚洲专区| 精品国产一区二区三区久久久狼| 亚洲欧美日韩成人| 亚洲国产精品一区二区三区| 欧美区二区三区| 成人福利网站在线观看| 国产一区二区三区在线播放免费观看| 亚洲精品白浆高清久久久久久| 欧美精品在线观看| 亚洲福利视频二区| 久久久久久美女| 狠狠躁18三区二区一区| 亚洲精品按摩视频| 久久精品国产成人| www.久久色.com| 国产精品色婷婷视频| 亚洲偷熟乱区亚洲香蕉av| 欧美成人在线免费视频| 伊人久久男人天堂| 国产精品影院在线观看| 中文字幕亚洲欧美一区二区三区| 日韩激情视频在线播放| 国产精品视频午夜| 欧美最猛性xxxxx亚洲精品| 亚洲欧美日韩在线高清直播| 欧美高清视频免费观看| 亚洲欧洲中文天堂| 国产a级全部精品| 亚洲护士老师的毛茸茸最新章节| 性视频1819p久久| 中文字幕日韩在线播放| 日韩av中文字幕在线播放| 亚洲人成伊人成综合网久久久| 国内伊人久久久久久网站视频| 欧美又大又粗又长| 奇米影视亚洲狠狠色| 一区二区日韩精品| 国产激情视频一区| 日本精品视频在线观看| 国产精品视频网| 色樱桃影院亚洲精品影院| 久久人人看视频| 色哟哟网站入口亚洲精品| 按摩亚洲人久久| 亚洲精品国产精品国自产观看浪潮| 97视频在线看| 九色精品免费永久在线| 国产精品视频久| 日韩精品免费在线观看| 欧美激情视频免费观看| 中文字幕自拍vr一区二区三区| 国产欧美一区二区三区久久人妖| 国产一区二区精品丝袜| 欧美成人在线影院| 日韩成人在线视频| 欧美亚洲另类制服自拍| 亚洲一区二区中文字幕| 97精品国产97久久久久久| 亚洲国产精品人人爽夜夜爽| 国产在线播放91| 国产精品国产福利国产秒拍| 久久97精品久久久久久久不卡| 欧美一级免费看| 日韩视频欧美视频| 日本精品久久中文字幕佐佐木| 亚洲精品久久久久中文字幕欢迎你| 欧美黄色三级网站| 亚洲成av人片在线观看香蕉| 欧美国产日韩精品| 国产女人精品视频| 久久香蕉国产线看观看网| 国产成人精品在线播放| 欧美精品情趣视频| 国产精品国模在线| 成人网中文字幕| 欧美视频在线观看 亚洲欧| 久久免费视频这里只有精品| 久青草国产97香蕉在线视频| 欧美一区二区三区免费视| 日韩精品小视频| 中文国产成人精品久久一| 8050国产精品久久久久久| 91中文字幕一区| 成人做爰www免费看视频网站| 91人人爽人人爽人人精88v| 欧美国产欧美亚洲国产日韩mv天天看完整| 日韩亚洲在线观看| 亚洲精品久久视频| 日韩免费看的电影电视剧大全| 国产精品专区一| 欧美大全免费观看电视剧大泉洋| 日韩在线观看免费全| 欧美午夜女人视频在线| 一区二区三区视频观看| 在线观看日韩专区| 国产精品永久在线| 日韩美女毛茸茸| 亚洲欧美999| 亚洲欧美制服另类日韩| 国产精品日韩在线播放| 精品视频在线播放色网色视频| 国产精品一区二区三| 国产精品入口尤物| 欧美精品一区二区三区国产精品| 久久视频在线播放| 国产一区二区三区在线观看网站| 中文字幕亚洲一区在线观看| 国模吧一区二区三区| 亚洲成人a级网| 日本一区二区在线播放| 亚洲国产精品美女| 最新国产成人av网站网址麻豆| 两个人的视频www国产精品|