Log in Sign up
Trang chủeBookCode That Fits in Your Head: Heuristics for Software Engineering, 1st edition
Code That Fits in Your Head: Heuristics for Software Engineering, 1st edition

Code That Fits in Your Head: Heuristics for Software Engineering, 1st edition

BRAND: PEARSON
Publisher:
PEARSON
Author:
Mark Seemann
Edition:
(November 15, 2021) © 2022
eBook ISBN:
9780137464357
Print ISBN:
9780137464401
Type:
1 Year Subscription. Dành cho Cá nhân
eBook edition. 1 Year Subscription. Dành cho Cá nhân | Trường ĐH, Nhóm, Thư Viện: Gọi 0915920514 để báo giá Pearson, Vital Source eBook hoặc mua Sách In

Tổng quan sách

Cách giảm độ phức tạp của mã và phát triển phần mềm bền vững hơn"Mark Seemann nổi tiếng với việc giải thích các khái niệm phức tạp một cách rõ ràng và kỹ lưỡng. Trong cuốn sách này, ông cô đọng kinh nghiệm phát triển phần mềm trên phạm vi rộng của mình thành một tập hợp các kỹ thuật thực tế, thực tế để viết mã bền vững và thân thiện với con người. Cuốn sách này sẽ là một cuốn sách bắt buộc phải- đọc cho mọi lập trình viên."—Scott Wlaschin, tác giả cuốn Domain Modeling Made FunctionMã phù hợp với đầu bạnđưa ra những lời khuyên thiết thực, không thể thiếu để viết mã với tốc độ bền vững và kiểm soát sự phức tạp khiến các dự án vượt khỏi tầm kiểm soát. Phản ánh kinh nghiệm hàng thập kỷ giúp các nhóm phần mềm thành công, Mark Seemann hướng dẫn sinh viên từ con số 0 (không có mã) đến các tính năng được triển khai và chỉ ra cách duy trì tốc độ di chuyển tốt khi họ thêm chức năng, giải quyết các mối quan tâm xuyên suốt, khắc phục sự cố và tối ưu hóa. Họ sẽ tìm thấy những ý tưởng, phương pháp thực hành và quy trình có giá trị cho các vấn đề chính, từ danh sách kiểm tra đến làm việc nhóm, đóng gói đến phân rã, thiết kế API đến thử nghiệm đơn vị. Seemann làm sáng tỏ những hiểu biết sâu sắc của mình bằng các ví dụ về mã được rút ra từ một dự án mẫu hoàn chỉnh. Được viết bằng C#, chúng được thiết kế rõ ràng và hữu ích cho bất kỳ ai sử dụng bất kỳ ngôn ngữ hướng đối tượng nào bao gồm Java, C++ và Python. Để tạo điều kiện khám phá sâu hơn, tất cả mã và thông báo cam kết mở rộng đều có sẵn để tải xuống.Chọn những tư duy và quy trình hiệu quả và tránh những ẩn dụ xấu không hiệu quả.Sử dụng danh sách kiểm tra để cải thiện kết quả với các kỹ năng đã cóVượt qua tình trạng “tê liệt phân tích” bằng cách tạo và triển khai một lát cắt dọc cho một ứng dụngChống lại các lực dẫn đến thối mã và độ phức tạp không cần thiếtNắm vững các kỹ thuật tốt hơn để thay đổi hành vi mãKhám phá cách giải quyết vấn đề về mã nhanh chóng và hiệu quả hơnSuy nghĩ hiệu quả hơn về hiệu suất và bảo mậtĐăng ký sách của bạn để có quyền truy cập thuận tiện vào việc tải xuống, cập nhật và/hoặc chỉnh sửa khi chúng có sẵn. Xem sách bên trong để biết chi tiết.
  1. Series Editor Foreword xixPreface xxiiiAbout the Author xxixPart I: Acceleration 1
  2. Chapter 1: Art or Science? 31.1 Building a House 41.2 Growing a Garden 71.3 Towards Engineering 81.4 Conclusion 14
  3. Chapter 2: Checklists 152.1 An Aid to Memory 152.2 Checklist for a New Code Base 172.3 Adding Checks to Existing Code Bases 292.4 Conclusion 32
  4. Chapter 3: Tackling Complexity 333.1 Purpose 343.2 Why Programming Is Difficult 383.3 Towards Software Engineering 443.4 Conclusion 46
  5. Chapter 4: Vertical Slice 494.1 Start with Working Software 504.2 Walking Skeleton 534.3 Outside-in 604.4 Complete the Slice 774.5 Conclusion 85
  6. Chapter 5: Encapsulation 875.1 Save the Data 875.2 Validation 925.3 Protection of Invariants 1055.4 Conclusion 108
  7. Chapter 6: Triangulation 1116.1 Short-Term versus Long-Term Memory 1116.2 Capacity 1146.3 Conclusion 127
  8. Chapter 7: Decomposition 1297.1 Code Rot 1297.2 Code That Fits in Your Brain 1367.3 Conclusion 153
  9. Chapter 8: API Design 1558.1 Principles of API Design 1568.2 API Design Example 1688.3 Conclusion 176
  10. Chapter 9: Teamwork 1779.1 Git 1789.2 Collective Code Ownership 1879.3 Conclusion 199Part II: Sustainability 201
  11. Chapter 10: Augmenting Code 20310.1 Feature Flags 20410.2 The Strangler Pattern 20910.3 Versioning 21810.4 Conclusion 220
  12. Chapter 11: Editing Unit Tests 22311.1 Refactoring Unit Tests 22311.2 See Tests Fail 23311.3 Conclusion 234
  13. Chapter 12: Troubleshooting 23512.1 Understanding 23512.2 Defects 24012.3 Bisection 25012.4 Conclusion 255
  14. Chapter 13: Separation of Concerns 25713.1 Composition 25813.2 Cross-Cutting Concerns 26713.3 Conclusion 274
  15. Chapter 14: Rhythm 27514.1 Personal Rhythm 27614.2 Team Rhythm 28214.3 Conclusion 285
  16. Chapter 15: The Usual Suspects 28715.1 Performance 28815.2 Security 29215.3 Other Techniques 30015.4 Conclusion 308
  17. Chapter 16: Tour 30916.1 Navigation 30916.2 Architecture 31816.3 Usage 32316.4 Conclusion 326Appendix A: List of Practices 329A.1 The 50/72 Rule 329A.2 The 80/24 Rule 330A.3 Arrange Act Assert 330A.4 Bisection 330A.5 Checklist for A New Code Base 331A.6 Command Query Separation 331A.7 Count the Variables 331A.8 Cyclomatic Complexity 331A.9 Decorators for Cross-Cutting Concerns 332A.10 Devil's Advocate 332A.11 Feature Flag 332A.12 Functional Core, Imperative Shell 333A.13 Hierarchy of Communication 333A.14 Justify Exceptions from the Rule 333A.15 Parse, Don't Validate 334A.16 Postel's Law 334A.17 Red Green Refactor 334A.18 Regularly Update Dependencies 335A.19 Reproduce Defects as Tests 335A.20 Review Code 335A.21 Semantic Versioning 335A.22 Separate Refactoring of Test and Production Code 335A.23 Slice 336A.24 Strangler 336A.25 Threat-Model 337A.26 Transformation Priority Premise 337A.27 X-driven Development 337A.28 X Out Names 338Bibliography 339Index 349
Chat Zalo