出版時(shí)間:2009 出版社:人民郵電出版社 作者:Donis Marshall,John Bruno 頁數(shù):315
Tag標(biāo)簽:無
內(nèi)容概要
本書探討了編寫高質(zhì)量代碼的最佳實(shí)踐,涉及軟件開發(fā)的各個(gè)方面。書中的實(shí)用建議來自經(jīng)驗(yàn)豐富的工程開發(fā)人員,這些建議可以應(yīng)用于設(shè)計(jì)、原型化、實(shí)現(xiàn)、調(diào)試和測試等產(chǎn)品開發(fā)生命周期的各階段。同時(shí),本書也提供了微軟公司W(wǎng)indows Live Hotmail 和Live Search 等團(tuán)隊(duì)的真實(shí)開發(fā)案例。 本書適合各層次軟件開發(fā)人員閱讀。
作者簡介
Donis Marshall 著名微軟技術(shù)專家,現(xiàn)任DebugLive公司總裁。具有20多年的開發(fā)經(jīng)驗(yàn),10多年來培訓(xùn)了幾代微軟工程師,尤其擅長調(diào)試技術(shù)。除本書外,他著有多部作品,包括Programming Microsoft Visual C# 2008: The Language和.NET Security Programming。
John Bruno 微軟公司高級項(xiàng)目經(jīng)理,具有10多年的軟件開發(fā)經(jīng)驗(yàn)。他在Windows Live以及Windows Live Spaces服務(wù)架構(gòu)和開發(fā)平臺的開發(fā)中都起到了關(guān)鍵作用。
書籍目錄
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.
媒體關(guān)注與評論
“這本書很好地兼顧了管理和技術(shù)兩個(gè)方面,內(nèi)容涉及軟件建模、安全設(shè)計(jì)、防御性編程等。應(yīng)用書中提供的最佳實(shí)踐,可以令開發(fā)人員的軟件開發(fā)水平更上一層樓?!薄 狫ohn Robbins,微軟技術(shù)大師,Wintellect 創(chuàng)始人之一“這是每個(gè)IT 專業(yè)人士必讀的一本書,特別是使用托管代碼的開發(fā)人員。書中不僅給出了最佳工程實(shí)踐,并通過實(shí)際案例加以解析?!薄 狝ndres Juarez,微軟公司產(chǎn)品發(fā)布經(jīng)理
編輯推薦
通過將《我們在微軟怎樣開發(fā)軟件(英文版)》的理念和實(shí)踐應(yīng)用于實(shí)戰(zhàn),開發(fā)團(tuán)隊(duì)和個(gè)人的水平將迅速達(dá)到全新境界。第一次全面揭示世界軟件巨人微軟致勝的技術(shù)奧秘深入剖析成就高質(zhì)量代碼的四大關(guān)鍵原則軟件開發(fā)人員的必讀秘籍今天,軟件日趨復(fù)雜,而要求卻越來越高,如何應(yīng)對愈加困難的開發(fā)任務(wù),創(chuàng)建高質(zhì)量、高效率和安全的軟件?《我們在微軟怎樣開發(fā)軟件(英文版)》由兩位著名微軟技術(shù)專家合著,總結(jié)了微軟公司各開發(fā)團(tuán)隊(duì)多年來積累的成功經(jīng)驗(yàn),揭示了全球軟件巨人微軟公司在軟件開發(fā)周期各個(gè)階段構(gòu)建高質(zhì)量代碼的內(nèi)幕,內(nèi)容兼顧管理和技術(shù)兩個(gè)層面。書中生動(dòng)講述了大量現(xiàn)代軟件開發(fā)方法和編程技巧,提供了許多來自各微軟開發(fā)團(tuán)隊(duì)的真知灼見,并從中提煉出“專注于設(shè)計(jì) ”、“防御和調(diào)試”、“分析和測試”和“改進(jìn)過程和觀念”四大關(guān)鍵原則。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載