出版時間:2009 出版社:人民郵電出版社 作者:Donis Marshall,John Bruno 頁數(shù):315
Tag標簽:無
內容概要
本書探討了編寫高質量代碼的最佳實踐,涉及軟件開發(fā)的各個方面。書中的實用建議來自經(jīng)驗豐富的工程開發(fā)人員,這些建議可以應用于設計、原型化、實現(xiàn)、調試和測試等產(chǎn)品開發(fā)生命周期的各階段。同時,本書也提供了微軟公司W(wǎng)indows Live Hotmail 和Live Search 等團隊的真實開發(fā)案例。 本書適合各層次軟件開發(fā)人員閱讀。
作者簡介
Donis Marshall 著名微軟技術專家,現(xiàn)任DebugLive公司總裁。具有20多年的開發(fā)經(jīng)驗,10多年來培訓了幾代微軟工程師,尤其擅長調試技術。除本書外,他著有多部作品,包括Programming Microsoft Visual C# 2008: The Language和.NET Security Programming。
John Bruno 微軟公司高級項目經(jīng)理,具有10多年的軟件開發(fā)經(jīng)驗。他在Windows Live以及Windows Live Spaces服務架構和開發(fā)平臺的開發(fā)中都起到了關鍵作用。
書籍目錄
1 Code Quality in an Agile World Traditional Methods of Software Development Agile Methods of Software Development Scrum eXtreme Programming Test-Driven Development Moving Quality Upstream Inside Microsoft: Windows Live Hotmail Engineering... Engineering Principles Key Success Factors Tactics for Writing Solid Code Focus on Design Defend and Debug Analyze and Test Improve Processes and Attitudes Summary Key Points2 Class Design and Prototyping Collaboration in Visual Studio Think First, Code Later Software Modeling Unified Modeling Language Prototyping Summary Key Points3 Metaprogramming What Is Metadata? Metadata in Managed Applications Application Configuration Files Metadata in Your Applications Inside Microsoft: Configuration Management in Windows Live Spaces... Summary Key Points4 Performance Is a Feature Common Performance Challenges Network Latency Payload Size and Network Round Trips Limited TCP Connections Poorly Optimized Code Analyzing Application Performance Analyzing the Performance of Live Search Tactics for Improving Web Application Performance Reduce Payload Size Cache Effectively Optimize Network Traffic Organize and Write Code for Better Performance Incorporating Performance Best Practices Establish a Performance Excellence Program Inside Microsoft: Tackling Live Search Performance Web Performance Principles Key Success Factors Summary Key Points5 Designing for Scale Understanding Application Scalability ……6 Security Desing and Implementation7 Managed Memory Model8 Defensive Programming9 Debugging10 Code Analysis11 Improving Engineering Processes12 Attitude Is EverythingA Aglie Development ResourcesB Web Performance ResourcesIndex
章節(jié)摘錄
Thus far we have discussed tactics to address two of the three principles outlined in the pre-vious section. Those tactics enumerated specific and actionable recommendations for how todesign applications to address scalability and availability in your applications. While both ofthose goals and their respective tactics for achieving them are critically important, they arecomplemented by the third and equally important principle that applications be manageableand maintainable from an operational perspective.As applications begin to scale out to accommodate more users, the complexity of the appli-cation infrastructure, live site issues, and management overhead can increase, as well. Thiscan lead to potential quality problems with the delivery of the application, which will nega-tively affect users while simultaneously driving up the cost of maintenance. Live site bugs,capacity issues, and general server reliability problems are just a few examples of issues thatmay arise unexpectedly and require diagnosis and supportive action. It is important thatapplication developers consider the necessary features that enable their applications to besupported and managed by individuals who may not have actually written the executingapplication code. Adding instrumentation, interfaces for connecting monitoring tools, andapplication health reporting are just a few examples of features that help to paint a clear pic-ture of how the application is working in the live production environment. This will inevitablylead to an improvement in managing the application, as well as diagnosing and addressingissues on the live site even as the application scales to accommodate additional users.Unfortunately, addressing manageability and maintainability within application designsis often not the first priority for development teams. As application developers, we tendto gravitate toward the set of "problems" that are most interesting for us to solve from anarchitectural and business perspective~ This generally means that the set of work required toensure that the application can be operationally managed and maintained is prioritized lowerthan design work for other parts of the application~ Therefore, the correct level of develop-ment investment in areas of manageability and maintainability is not always made duringthe design of the application.
媒體關注與評論
“這本書很好地兼顧了管理和技術兩個方面,內容涉及軟件建模、安全設計、防御性編程等。應用書中提供的最佳實踐,可以令開發(fā)人員的軟件開發(fā)水平更上一層樓。” ——John Robbins,微軟技術大師,Wintellect 創(chuàng)始人之一“這是每個IT 專業(yè)人士必讀的一本書,特別是使用托管代碼的開發(fā)人員。書中不僅給出了最佳工程實踐,并通過實際案例加以解析?!薄 狝ndres Juarez,微軟公司產(chǎn)品發(fā)布經(jīng)理
編輯推薦
通過將《我們在微軟怎樣開發(fā)軟件(英文版)》的理念和實踐應用于實戰(zhàn),開發(fā)團隊和個人的水平將迅速達到全新境界。第一次全面揭示世界軟件巨人微軟致勝的技術奧秘深入剖析成就高質量代碼的四大關鍵原則軟件開發(fā)人員的必讀秘籍今天,軟件日趨復雜,而要求卻越來越高,如何應對愈加困難的開發(fā)任務,創(chuàng)建高質量、高效率和安全的軟件?《我們在微軟怎樣開發(fā)軟件(英文版)》由兩位著名微軟技術專家合著,總結了微軟公司各開發(fā)團隊多年來積累的成功經(jīng)驗,揭示了全球軟件巨人微軟公司在軟件開發(fā)周期各個階段構建高質量代碼的內幕,內容兼顧管理和技術兩個層面。書中生動講述了大量現(xiàn)代軟件開發(fā)方法和編程技巧,提供了許多來自各微軟開發(fā)團隊的真知灼見,并從中提煉出“專注于設計 ”、“防御和調試”、“分析和測試”和“改進過程和觀念”四大關鍵原則。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載