精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

專家解析如何有效的簡化你的軟件開發(fā)

開發(fā) 項目管理
在工作中經常能找到軟件設計復雜的地方。對于這樣情況的原因多種多樣,但是可以集中幾點主要的原因:不恰當?shù)氖褂迷O計樣式,“not invented here”綜合癥,以及當雪弗萊(Chevy)做這個工作的時候卻構建了一個卡迪拉克(Cadillac)。你可以通過很多種方法來解決這些問題。所有這些只需要重新思考一下如何構建你的軟件。本文提供了關于怎樣簡化你的軟件開發(fā)過程的指導。

當設計一個問題的解決方案的時候,你應該努力讓所有的事情盡可能的變得靈活。但是,太靈活會導致難以理解的代碼出現(xiàn)。相反,考慮編寫一個類,它可以用最簡單的方法(Chevy方法)來解決問題。讓你的類可以通過其他類的繼承而得到擴展。讓你的方法虛擬化,所以你或是其他人在重新使用你的部分代碼之后還可以返回,然后添加額外的靈活性和復雜性,如果有必要的話(Cadillac)。畢竟,這是OPP所涉及的——擴大并覆蓋未來所出現(xiàn)的新需求的能力。嘗試編寫最少的代碼來完成工作。不多不少,剛剛合適。

當設計你的類的時候,對類本身,方法和屬性使用描述性好的名字。一個類通過定義,而且本身有很好的描述,使用起來也非常簡單。盡量避免行話和縮寫。使用完整的,長的單詞讓方法或是屬性呈現(xiàn)得清晰明確。

在有些不好理解的代碼上添加注解。但是,如果注解的行數(shù)比代碼本身還要多,你就要想一想怎樣讓你的方法變得簡單一些。

設計樣式

是的,有很多種設計樣式。這些樣式本身就是很好的工具。但是,你會發(fā)現(xiàn)很多的執(zhí)行非常復雜;大多數(shù)情況下它們是有過度的殺傷威力。你需要試著找到剛好為你需要的解決方案所工作的一些東西。不要嘗試創(chuàng)建那些現(xiàn)在不存在而且也不會發(fā)生的問題的解決方案。最好是采用極簡單的方法,使用一個基本的設計樣式,而且找到一種產品而不是花很多時間去試圖完成一個樣式,最后,對解決當前的業(yè)務問題也是毫無意義。

不要再去發(fā)明輪子

對于編程者最好的事情就是他們喜歡編程。最壞的事情也是他們喜歡編程。編程有很多樂趣;那么我們?yōu)槭裁匆鲞@個工作呢?但是,不要忽略這個事實就是你的工作是來支持你所工作的行業(yè)的。你真正的工作是創(chuàng)建應用程序來為你的公司賺錢。如果那意思就是說你需要重新使用別人的代碼,那就這樣做。不要有“not invented here”綜合癥。如果你這樣做了,你就不是在為你的公司做事情了。

商業(yè)應用程序編程者沒有理由去重塑每個解決方案。一個業(yè)務編程者的首要任務就是來支持業(yè)務。你的工作不只是有很有趣的編程過程。不過那樣也很好,但是如果你所工作的公司需要程序來賺錢,你的工作就是越快越有效的完成程序。如果你不這樣做,你的公司就會因為缺少軟件而失去生意,那么你也會發(fā)現(xiàn)你要重新找工作了!

緊密圍繞Microsoft

不要誤解我的意思。我是真的喜歡Microsoft,而且喜歡使用他們的工具。但是,當你選擇使用一個新技術的時候,你需要小心,因為你的決定會導致代碼在未來可能不會工作。考慮一下在.NET 1.x和2.0之間發(fā)生了什么事情。很多Microsoft建議你使用的事情都沒有了。過去這樣的事情我看到過好多。看一看在過去15年里他們有多少讓我們使用的數(shù)據(jù)訪問技術啊!

在我的研討小組中,我總是告訴人們"put a wrapper around Microsoft."。就是說不要直接去調用他們的技術,你可以為LINQ to SQL, LINQ to XML, Entity Framework ,ConfigurationManager和其他的技術構建wrapper類,并且從你的自定義類和方法中調用它們的功能。圍繞這些技術意思是當Microsoft決定改變它的技術的時候,你只需在一個地方改變代碼就可以了。它確保你可以保證其他的應用程序代碼都一致——只不過就是使用了一種不同的技術。

團隊編程

我很喜歡code review和團隊編程。如果我沒有在一兩分鐘之內給別人解釋好我的代碼,那說明我的代碼太復雜了。每天,你都和你的同伴一起檢查你的代碼以確保它們不是太復雜。如果你是自己一個人工作,你就去抓一個朋友,你的伴侶或是你的狗,把代碼解釋給他們聽。

由于我教很多的研討小組成員并且撰寫了很多文章和書籍,我知道我的代碼總是成為一個顯微鏡。我很努力的讓我的代碼對大范圍的編程者來說要易讀并且易懂。如果一個初學者可以理解我的變量的名字,方法的名字和我的邏輯,我想一個有經驗的編程者就更能懂了。你也要想一想你的代碼可以幫助你編寫更簡單,易懂的代碼。

“正確”設計

如果你看一看這兩段代碼。你會立即區(qū)分出哪個是初學者編寫的代碼,哪個是有經驗的編程者編寫的代碼。初學者會有設計不足的代碼。但是,一個有經驗的編程者可能會有過度設計的代碼。當一個人沒有在解決問題上有足夠想法的時候,設計不足的代碼就會產生。

考慮Listing 1中的代碼,檢查是否有文件存在。你可以看到這個顯然沒有將足夠的想法融入重用此代碼中,沒有異常處理。現(xiàn)在,如果你看到由一個編程者過度設計的代碼來解決同樣的問題,你可以使用Listing 2中的方法。

  1. .NET languages   
  2. Listing 1. Under-Engineering:  
  3. Inexperienced programmers may not put enough thought into the code's intended use and exception handling.  
  4. // C# implementation  
  5. private bool FileExists()  
  6. {  
  7. if (System.IO.File.Exists(@"C:\MyFile.txt"))  
  8. return true;  
  9. else  
  10. return false;  
  11. }  
  12. ' VB.NET implementation  
  13. Private Function FileExists() As Boolean  
  14. If System.IO.File.Exists("C:\MyFile.txt" Then  
  15. Return True  
  16. Else  
  17. Return False  
  18. End If  
  19. End Function  
  20. .NET languages  
  21. Listing 2. Over-Engineering:  
  22. While this method may handle every conceivable error, it's overkill for the business problem at hand.  
  23. // C# implementation  
  24. private bool FileExists(string fileName)  
  25. {  
  26. System.Diagnostics.Debug.Assert(  
  27. string.IsNullOrEmpty(fileName),  
  28. "The 'fileName' parameter must be passed " +  
  29. "into the FileExists method");  
  30. try {  
  31. return (System.IO.File.Exists(fileName));  
  32. }  
  33. catch (System.IO.DirectoryNotFoundException ex) {  
  34. throw new Exception("The directory from the file name: " +  
  35. fileName + " does not exist.", ex);  
  36. }  
  37. catch (System.IO.DriveNotFoundException ex) {  
  38. throw new Exception("The drive from the file name: " +  
  39. fileName + " does not exist.", ex);  
  40. }  
  41. catch (System.IO.PathTooLongException ex) {  
  42. throw new Exception("The path from the file name: " +  
  43. fileName + " is too long.", ex);  
  44. }  
  45. catch (Exception ex) {  
  46. throw new Exception("The file: " + fileName +  
  47. " was checked to see it is exists, but some unknown " +  
  48. "problem occurred when calling the File.Exists method", ex);  
  49. }  
  50. }  
  51. ' VB.NET implementation  
  52. Private Function FileExists(ByVal fileName As String) As Boolean  
  53. System.Diagnostics.Debug.Assert( _  
  54. String.IsNullOrEmpty(fileName), _  
  55. "The fileName parameter must be passed into " & _  
  56. "the DoesFileExist method")  
  57. Try  
  58. Return (System.IO.File.Exists(fileName))  
  59. Catch ex As System.IO.DirectoryNotFoundException  
  60. Throw New Exception("The directory from the file name: " + _  
  61. fileName + " does not exist.", ex)  
  62. Catch ex As System.IO.DriveNotFoundException  
  63. Throw New Exception("The drive from the file name: " + _  
  64. fileName + " does not exist.", ex)  
  65. Catch ex As System.IO.PathTooLongException  
  66. Throw New Exception("The path from the file name: " + _  
  67. fileName + " is too long.", ex)  
  68. Catch ex As Exception  
  69. Throw New Exception("The file: " + fileName + _  
  70. " was checked to see it is exists, but some unknown " & _  
  71. "problem occurred when calling the File.Exists method", ex)  
  72. End Try  
  73. End Function 

是的,在Listing 2中的代碼是非常好的,而且通過嘗試檢查文件是否存在而解決了所有可能發(fā)生的問題,但是這個代碼就是要解決業(yè)務問題的代碼嗎?是有可能的,這個代碼只用簡單的一個單一的catch塊,其中包括文件名和從.NET返回的錯誤信息,這已經足夠了。有些人花費大量時間來創(chuàng)建這個過度設計的方法并且還要測試它。有那些時間可以更好的用在解決業(yè)務問題的上面。

擁有強大,靈活而且可以再度使用的軟件是一個偉大的目標。但是,如果你不能交付一個產品來幫助你的業(yè)務,那么這個目標是無法實現(xiàn)的。開始研發(fā)你所需要的軟件吧。讓你的代碼可以擴展以適應未來的需要。使用簡單的設計樣式,編寫你的代碼,如果你要把它展示給一個大集團的同行們。如果你遵循這些技術,你會發(fā)現(xiàn)你的代碼是簡單的而且是“正確”的設計。

【編輯推薦】

  1. 高手Java核心技術學習筆記
  2. 開發(fā)人員最欠缺哪些測試知識?
  3. Java程序開發(fā)中代理技術的使用方法
  4. 軟件開發(fā)中的模式和框架概念淺析
  5. JAVA環(huán)境變量的設置
責任編輯:彭凡 來源: IT專家網(wǎng)
相關推薦

2019-07-30 08:00:00

機器學習AI軟件開發(fā)

2022-03-09 10:18:48

UnixC語言軟件

2021-08-31 08:00:00

開發(fā)軟件框架

2022-08-07 23:41:42

工具GitHub開發(fā)

2023-08-01 15:24:18

DevOps自動化軟件開發(fā)

2009-08-12 18:39:01

軟件開發(fā)的生命周期

2009-02-10 17:11:53

SaaSSaaS開發(fā)PaaS

2015-03-02 09:35:07

軟件開發(fā)

2020-12-18 08:10:02

軟件開發(fā)C++技術

2020-12-03 15:54:15

軟件開發(fā)工具

2011-06-13 10:28:45

JAVA

2017-05-18 16:13:43

軟件開發(fā)軟件開發(fā)

2017-04-12 09:24:45

開發(fā)編程Java

2023-02-09 16:48:12

軟件開發(fā)測試結對測試

2022-03-14 22:54:57

軟件開發(fā)性能

2011-08-31 10:04:22

日本軟件開發(fā)

2022-07-19 16:31:29

軟件開發(fā)Kubernetes容器

2015-07-02 10:06:27

軟件開發(fā)軟件工程

2010-11-09 10:55:43

升職

2020-09-22 08:16:20

軟件開發(fā)原則
點贊
收藏

51CTO技術棧公眾號

欧美妇女性影城| jiyouzz国产精品久久| 在线播放日韩欧美| 999这里有精品| 影音先锋中文在线视频| 99久久综合99久久综合网站| 人妖精品videosex性欧美| 黄色片在线观看免费| 欧美高清一级片| 欧美日韩美女在线| 亚洲欧美日韩在线综合| 黄色aaa毛片| 日韩av一区二区三区四区| 日韩中文字幕网站| 亚洲av永久无码精品| 成人在线爆射| 亚洲综合色视频| 日本成人看片网址| 午夜精品一二三区| 日本不卡123| 国模gogo一区二区大胆私拍| 日本污视频网站| 国产精品对白久久久久粗| 欧美探花视频资源| 亚洲人精品午夜射精日韩| 蜜芽在线免费观看| 久久久综合九色合综国产精品| 91麻豆国产精品| 天天天天天天天干| 亚洲国内自拍| 欧美成人一二三| 成人黄色免费网址| 日韩欧美ww| 日韩欧美国产一区二区在线播放| 亚洲福利精品视频| 中文在线中文资源| 亚洲国产精品久久久久秋霞影院| 亚洲国产精品久久久久久女王| 手机av在线免费观看| 国产一区二区视频在线播放| 国产精品久久99久久| 成人午夜视频精品一区| 欧美~级网站不卡| 俺去了亚洲欧美日韩| 性久久久久久久久久| 成人另类视频| 日韩欧美高清dvd碟片| 999在线精品视频| www.26天天久久天堂| 色94色欧美sute亚洲线路二 | 亚洲一区二区三区综合| 欧美大片91| 欧美一级日韩一级| 性欧美在线视频| 欧美日韩破处视频| 欧美三级欧美一级| 青青在线免费观看视频| 亚洲伦理影院| 欧美影院一区二区| 九九九在线观看视频| 日韩电影网站| 在线观看免费亚洲| 亚洲最大成人在线观看| 国产a亚洲精品| 欧美日韩国产高清一区二区| a在线观看免费视频| 另类一区二区三区| 9191久久久久久久久久久| 中文字幕亚洲影院| 久久99成人| 日韩精品一区二区三区蜜臀| 中国免费黄色片| 亚洲最大在线| 少妇久久久久久| 印度午夜性春猛xxx交| 极品尤物久久久av免费看| 欧美黑人性生活视频| 日韩av片在线播放| 免费一级欧美片在线播放| 日本久久久久亚洲中字幕| 久久久久精彩视频| 精品一区二区久久| 国产福利一区二区三区在线观看| 老牛影视av牛牛影视av| 99精品久久只有精品| 欧美在线一二三区| caoporn免费在线视频| 亚洲午夜在线观看视频在线| 中文字幕无码精品亚洲35| a欧美人片人妖| 欧美精品丝袜中出| 日本性生活一级片| 香蕉久久精品| 色999日韩欧美国产| 九九热这里有精品视频| 久久99伊人| 91久久国产综合久久91精品网站| 黄色一级a毛片| 国产精品美女久久久久久久网站| 国产小视频免费| 桃色一区二区| 欧美大片免费久久精品三p| 最近中文字幕免费视频| 亚洲欧美亚洲| 国产精品视频一区国模私拍| 亚洲av永久纯肉无码精品动漫| 久久综合色之久久综合| 男女激烈动态图| 美女100%一区| 欧美一二三区在线| 国产又粗又硬视频| 亚洲人成在线影院| 成人淫片在线看| 男女污污视频在线观看| 亚洲欧美日韩国产一区二区三区| 久久久久久久久久久视频| 美女精品视频在线| 这里只有视频精品| 一级黄色大片视频| 国产成人精品免费一区二区| 日韩jizzz| 麻豆mv在线看| 欧美成人官网二区| 91香蕉视频污在线观看| 蜜桃伊人久久| 国产伦精品一区二区三区四区免费| h网站在线免费观看| 午夜天堂影视香蕉久久| 国产黄色一区二区三区| 日韩精品免费一区二区三区| 26uuu久久噜噜噜噜| 亚洲福利在线观看视频| 日韩一区在线看| www.色就是色| 国产成人精品一区二区免费看京| 久久久综合av| jlzzjlzzjlzz亚洲人| 国产精品久久久久久久久久免费看| 国产欧美在线一区| 欧美xxxx在线| 国语自产精品视频在线看一大j8| 国产免费av电影| 中文字幕一区二区三区不卡| 欧美两根一起进3p做受视频| 少妇高潮一区二区三区| 性欧美在线看片a免费观看| www日本视频| 亚洲精品成人天堂一二三| а 天堂 在线| 国产精品成人一区二区不卡| 国产美女被下药99| 午夜毛片在线| 欧美精品成人一区二区三区四区| 成人免费视频入口| 美女爽到高潮91| 亚洲一区3d动漫同人无遮挡 | 九色91porny| 欧美黄免费看| 91网免费观看| 丁香高清在线观看完整电影视频| 日韩一区二区视频| 久久久久黄色片| jlzzjlzz国产精品久久| 久久久999免费视频| 一区二区美女| 国产精品免费网站| 美女免费久久| 日韩视频在线永久播放| 免费在线一区二区三区| 福利一区福利二区| 拔插拔插海外华人免费| 啪啪国产精品| 国产精品入口福利| 美女隐私在线观看| 精品成人a区在线观看| 韩国av免费观看| 久久久久久99久久久精品网站| 91日韩视频在线观看| 99久久99热这里只有精品| 99在线高清视频在线播放| 超碰在线99| 国产亚洲欧美aaaa| 国产男男gay体育生白袜| 亚洲一区二区视频| 欧美18—19性高清hd4k| 国产精品中文字幕一区二区三区| 拔插拔插海外华人免费| 欧美日韩黑人| 99影视tv| 欧美日韩视频免费观看| 久久福利网址导航| 深夜视频在线免费| 欧美日韩黄色影视| 国产午夜精品无码| 国产视频一区二区三区在线观看| 中文字幕日韩综合| 国产欧美一级| japanese在线视频| 三级精品视频| 91社区国产高清| 成人免费看黄| 欧美成人精品激情在线观看| 视频一区二区三区国产| 日韩一区国产二区欧美三区| 在线观看日韩中文字幕| 亚洲人成精品久久久久久| 人妻无码一区二区三区| 国内精品在线播放| 欧美乱大交xxxxx潮喷l头像| 欧美黄色大片在线观看| 精品乱码一区二区三区| 999精品视频在线观看| 97色在线观看| 欧美a在线看| 亚洲人成亚洲人成在线观看| 精品国产av一区二区三区| 日本乱码高清不卡字幕| 日本一区二区免费在线观看| 中文字幕日韩av资源站| 天天躁日日躁aaaa视频| 国产成人精品午夜视频免费| 免费看污污网站| 国产精品久久久久久久久久妞妞| 久久国产精品免费观看| 大色综合视频网站在线播放| 精品无人乱码一区二区三区的优势 | a级黄色一级片| 亚洲视频在线免费| 亚洲国产精品一区在线观看不卡| 欧美日韩一区二区三区四区不卡 | 人妻少妇被粗大爽9797pw| 欧美91视频| 一区二区精品国产| 成久久久网站| 日韩av影视| 免费一区二区| 久久久久九九九| 超碰成人福利| 91免费看蜜桃| 国产精品毛片aⅴ一区二区三区| 国产精品999| 卡通欧美亚洲| 国产福利视频一区二区| 一区二区三区电影大全| 91成人在线视频| 国产自产自拍视频在线观看| 欧美激情欧美激情| 久操av在线| 久久久久久亚洲精品中文字幕| 中文在线观看免费| 欧美日韩成人免费| 日本片在线观看| 欧美激情国产高清| 国产极品人妖在线观看| 午夜精品久久久久久久男人的天堂 | 国产精品人妻一区二区三区| 欧美日本一区二区三区四区 | 久久国产乱子精品免费女| 国模杨依粉嫩蝴蝶150p| 丝袜美腿亚洲色图| 久久婷婷国产91天堂综合精品| 日韩国产欧美在线播放| 高清一区二区视频| 国产在线精品免费| 91亚洲一线产区二线产区| 成人午夜在线播放| 中文在线一区二区三区| 久久久久久久电影| 亚洲精品自拍视频在线观看| 最新国产成人在线观看| 欧美日韩精品一区二区三区视频播放| 亚洲久草在线视频| 国产无码精品视频| 91久久人澡人人添人人爽欧美| 久草热在线观看| 这里只有精品电影| 色窝窝无码一区二区三区| 日韩电影大全免费观看2023年上| 免费av在线电影| 精品国产网站地址| 大桥未久在线播放| 国产脚交av在线一区二区| 日本午夜免费一区二区| 51国偷自产一区二区三区| 女仆av观看一区| 亚洲春色综合另类校园电影| 久久久久美女| 国产精品免费入口| 久久国产尿小便嘘嘘| 少妇激情一区二区三区视频| 国产亚洲欧美色| 丰满少妇被猛烈进入一区二区| 亚洲五月六月丁香激情| 懂色av中文字幕| 欧美一二三四在线| 韩日视频在线| 欧美人在线视频| 美女网站视频一区| 91偷拍精品一区二区三区| 国产免费久久| 免费一区二区三区在线视频| 久久365资源| 91嫩草国产在线观看| 伊人久久大香线蕉综合网站| 中文字幕色一区二区| 伊人精品成人久久综合软件| 日本www.色| heyzo一本久久综合| 69夜色精品国产69乱| 欧美性色视频在线| 精品人妻一区二区三区麻豆91| 国产午夜精品久久久| 视频在线观看入口黄最新永久免费国产| 欧美在线免费看| 超碰97久久国产精品牛牛| 制服丝袜综合日韩欧美| 久久三级福利| 欧美在线一级片| 亚洲欧美国产三级| 国产真人无遮挡作爱免费视频| 亚洲风情亚aⅴ在线发布| 乱人伦中文视频在线| 国产成人精品久久二区二区| 老司机在线精品视频| 免费的一级黄色片| 国产又黄又大久久| 日本欧美一区二区三区不卡视频| 精品久久久久久久久中文字幕| 精品人妻伦一二三区久久| www欧美日韩| 国产人妖一区| 亚洲黄色一区二区三区| 日本va欧美va精品发布| 欧美狂猛xxxxx乱大交3| 欧美日韩中文在线观看| 熟妇高潮一区二区高潮| 午夜精品久久久久久久99热浪潮| 4438全国亚洲精品观看视频| 91传媒免费视频| 国产麻豆午夜三级精品| 情侣偷拍对白清晰饥渴难耐| 欧美日韩一区二区欧美激情| 成人av毛片| 国产精品揄拍500视频| 欧美在线免费看视频| av网站在线不卡| 国产精品久久久久久福利一牛影视 | 亚洲福利视频一区二区| 亚洲av色香蕉一区二区三区| 欧美成人三级视频网站| 精品麻豆剧传媒av国产九九九| 国产女人18毛片| 国产不卡视频一区二区三区| 久久久久99精品成人片毛片| 精品美女被调教视频大全网站| 啦啦啦中文在线观看日本| 成人综合色站| 国产婷婷精品| 色哟哟精品观看| 欧美日韩精品是欧美日韩精品| 香蕉视频在线播放| 91免费福利视频| 国产一区日韩一区| 国产一级二级在线观看| 色欧美88888久久久久久影院| 国产视频网址在线| 国产欧美最新羞羞视频在线观看| 久久中文亚洲字幕| 九九九久久久久久久| 国产亚洲一区二区三区在线观看| 亚洲影视一区二区| 欧美黑人一级爽快片淫片高清| 91精品尤物| 久久久久狠狠高潮亚洲精品| 国产亚洲精品中文字幕| 中文字幕在线日亚洲9| 日韩一区二区三区xxxx| av有声小说一区二区三区| 亚洲午夜精品一区二区| 国内精品不卡在线| 粉嫩aⅴ一区二区三区| 亚洲欧美日韩直播| 国产精品一区二区精品视频观看| 亚洲色婷婷久久精品av蜜桃| 成人的网站免费观看| 日韩精品一区不卡| 日韩在线中文字幕| 中文无码日韩欧| 丁香啪啪综合成人亚洲| 国产精品黄色在线观看| 六月婷婷综合网| 日产精品99久久久久久| 牛夜精品久久久久久久99黑人| 日韩综合第一页| 欧美精品电影在线播放| 1024在线看片你懂得| 亚洲精品国产系列| 国产成人精品三级| 亚洲国产av一区二区三区| 日韩在线观看成人|