Code Complete: A Practical Handbook of Software Construction, Second Edition
همیشه خوندن کدهای نوشته شده توسط دیگران مشکلتر از نوشتن کد از نو است .
و مسئله ای که در کار تیمی بسیار مهم است ، اهمیت دادن به این موضوع است که ساده بودن برنامه خیلی از مواقع بهره بری خیلی بالاتری نسبت به امکانات بیشتر و استفاده بیشتر از یک کتابخانه یک pattern یا یک مدل جدید داره ، بخاطر اینکه ادامهی کار و درک برنامه توسط دیگر اعضای گروه خیلی مهم هست .
امروز قصد دارم کتابی رو بهتون معرفی کنم که راجع بهترین روش و کاملترین روش برای کد زنی مطرح میکنه و نویسندهی این کتاب آقای Steve McConnell مطرح میکنه که :
Software’s Primary Technical Imperative has to be managing complexity
" اولین اولویت الزامی طراحی باید مدیریت پیچیدگی باشد " .
این کتاب مشهور ، سالیان ساله که به خیلی از برنامه نویسان و دولوپرها در زمینهی طراجحی نرم افزار کمک کرده است .
Discover the timeless techniques and strategies that help you:
- Design for minimum complexity and maximum creativity
- Reap the benefits of collaborative development
- Apply defensive programming techniques to reduce and flush out errors
- Exploit opportunities to refactor—or evolve—code, and do it safely
- Use construction practices that are right-weight for your project
- Debug problems quickly and effectively
- Resolve critical construction issues early and correctly
- Build quality into the beginning, middle, and end of your project
Table of Contents
Part I: Laying the Foundation
Chapter 1. Welcome to Software Construction
Chapter 2. Metaphors for a Richer Understanding of Software Development
Chapter 3. Measure Twice, Cut Once: Upstream Prerequisites
Chapter 4. Key Construction Decisions
Part II: Creating High-Quality Code
Chapter 5. Design in Construction
Chapter 6. Working Classes
Chapter 7. High-Quality Routines
Chapter 8. Defensive Programming
Chapter 9. The Pseudocode Programming Process
Part III: Variables
Chapter 10. General Issues in Using Variables
Chapter 11. The Power of Variable Names
Chapter 12. Fundamental Data Types
Chapter 13. Unusual Data Types
Part IV: Statements
Chapter 14. Organizing Straight-Line Code
Chapter 15. Using Conditionals
Chapter 16. Controlling Loops
Chapter 17. Unusual Control Structures
Chapter 18. Table-Driven Methods
Chapter 19. General Control Issues
Part V: Code Improvements
Chapter 20. The Software-Quality Landscape
Chapter 21. Collaborative Construction
Chapter 22. Developer Testing
Chapter 23. Debugging
Chapter 24. Refactoring
Chapter 25. Code-Tuning Strategies
Chapter 26. Code-Tuning Techniques
Part VI: System Considerations
Chapter 27. How Program Size Affects Construction
Chapter 28. Managing Construction
Chapter 29. Integration
Chapter 30. Programming Tools
Part VII: Software Craftsmanship
Chapter 31. Layout and Style
Chapter 32. Self-Documenting Code
Chapter 33. Personal Character
Chapter 34. Themes in Software Craftsmanship
Chapter 35. Where to Find More Information