Building Maintainable Software, C# Edition. Ten Guidelines for Future-Proof Code

- Autorzy:
- Joost Visser, Sylvan Rigal, Gijs Wijnholds
- Promocja Przejdź


- Ocena:
- Bądź pierwszym, który oceni tę książkę
- Stron:
- 172
- Dostępne formaty:
-
ePubMobi
Opis książki: Building Maintainable Software, C# Edition. Ten Guidelines for Future-Proof Code
Have you ever felt frustrated working with someone else’s code? Difficult-to-maintain source code is a big problem in software development today, leading to costly delays and defects. Be part of the solution. With this practical book, you’ll learn 10 easy-to-follow guidelines for delivering C# software that’s easy to maintain and adapt. These guidelines have been derived from analyzing hundreds of real-world systems.
Written by consultants from the Software Improvement Group (SIG), this book provides clear and concise explanations, with advice for turning the guidelines into practice. Examples for this edition are written in C#, while our companion Java book provides clear examples in that language.
- Write short units of code: limit the length of methods and constructors
- Write simple units of code: limit the number of branch points per method
- Write code once, rather than risk copying buggy code
- Keep unit interfaces small by extracting parameters into objects
- Separate concerns to avoid building large classes
- Couple architecture components loosely
- Balance the number and size of top-level components in your code
- Keep your codebase as small as possible
- Automate tests for your codebase
- Write clean code, avoiding "code smells" that indicate deeper problems
Wybrane bestsellery
-
Why does poor software quality continue to plague enterprises of all sizes in all industries? Part of the problem lies with the process, rather than individual developers. This practical guide provides ten best practices to help team leaders create an effective working environment through key adj...
Building Software Teams. Ten Best Practices for Effective Software Development Building Software Teams. Ten Best Practices for Effective Software Development
(0,00 zł najniższa cena z 30 dni)84.92 zł
99.90 zł(-15%) -
Oprogramowanie po wdrożeniu w środowisku produkcyjnym dalej wymaga opieki programisty. Aktualizacje, dostosowanie do zmian, udoskonalenia i poprawa usterek — te czynności są warunkiem utrzymania systemu w dobrej kondycji. Niestety, jeśli twórca oprogramowania nie przestrzegał pewnych zasad,...
Oprogramowanie łatwe w utrzymaniu. Pisz kod podatny na przyszłe zmiany Oprogramowanie łatwe w utrzymaniu. Pisz kod podatny na przyszłe zmiany
(0,00 zł najniższa cena z 30 dni)19.95 zł
39.90 zł(-50%) -
Have you ever felt frustrated working with someone else’s code? Difficult-to-maintain source code is a big problem in software development today, leading to costly delays and defects. Be part of the solution. With this practical book, you’ll learn 10 easy-to-follow guidelines for deli...
Building Maintainable Software, Java Edition. Ten Guidelines for Future-Proof Code Building Maintainable Software, Java Edition. Ten Guidelines for Future-Proof Code
(0,00 zł najniższa cena z 30 dni)84.92 zł
99.90 zł(-15%) -
Po przyswojeniu zagadnień związanych z językiem C# i aplikacjami konsoli dowiesz się, jak tworzyć praktyczne aplikacje i usługi z wykorzystaniem biblioteki ASP.NET Core, a także wzorzec MVC i technologię Blazor. Zapoznasz się z metodami stosowania wielozadaniowości do poprawy wydajności i skalowa...
C# 10 i .NET 6 dla programistów aplikacji wieloplatformowych. Twórz aplikacje, witryny WWW oraz serwisy sieciowe za pomocą ASP.NET Core 6, Blazor i EF Core 6 w Visual Studio 2022 i Visual Studio Code. Wydanie VI C# 10 i .NET 6 dla programistów aplikacji wieloplatformowych. Twórz aplikacje, witryny WWW oraz serwisy sieciowe za pomocą ASP.NET Core 6, Blazor i EF Core 6 w Visual Studio 2022 i Visual Studio Code. Wydanie VI
(0,00 zł najniższa cena z 30 dni)95.40 zł
159.00 zł(-40%) -
To kolejne wydanie lubianego samouczka, dzięki któremu w ramach 24 godzinnych lekcji przyswoisz solidne podstawy programowania. Zrozumiesz, jak działają programy, i nauczysz się reguł stosowanych przez profesjonalistów przy ich projektowaniu. Dowiesz się, jak wygląda świat programistów i na czym ...
Programowanie dla początkujących w 24 godziny. Wydanie IV Programowanie dla początkujących w 24 godziny. Wydanie IV
(0,00 zł najniższa cena z 30 dni)34.50 zł
69.00 zł(-50%) -
To kolejne, przejrzane i zaktualizowane wydanie doskonałego podręcznika dla programistów. Znalazły się tu zwięzłe i dokładne informacje na temat języka C#, Common Language Runtime (CLR) oraz platformy .NET Core. Zaprezentowano precyzyjne opisy pojęć i konkretne przypadki użycia, a poszczególne za...(0,00 zł najniższa cena z 30 dni)
74.50 zł
149.00 zł(-50%) -
Ta książka ma pełnić funkcję użytecznej ściągawki zawierającej wszystko, co potrzebne do pracy z C#. Została pomyślana tak, aby maksymalnie ułatwić przeglądanie i odnajdywanie potrzebnych treści — i tym samym wesprzeć pracę każdego, komu zależy na sprawnym pisaniu kodu w języku C#. Jest też...(0,00 zł najniższa cena z 30 dni)
29.94 zł
49.90 zł(-40%) -
Nie trzeba siedzieć po uszy w programowaniu, by zauważyć pewną regułę: lwia część książek poświęconych temu zagadnieniu została napisana w podobny sposób. I nie chodzi o styl, środowisko czy język, lecz o strukturę. Prawidłowość tę zauważył Łukasz Sosna, który do zagadnienia programowania w język...
Visual Studio 2022, C# i .NET. Programowanie kontrolek Visual Studio 2022, C# i .NET. Programowanie kontrolek
(0,00 zł najniższa cena z 30 dni)29.94 zł
49.90 zł(-40%) -
C# jest dziś uważany za jeden z najważniejszych języków programowania. Nowoczesny, wszechstronny, dojrzały i sukcesywnie rozwijany, zapewnia efektywne tworzenie kodu wysokiej jakości. Profesjonalni programiści, którzy pisali już kod w C++ lub Javie, bardzo często wybierają właśnie C#. Nic nie sto...(0,00 zł najniższa cena z 30 dni)
77.40 zł
129.00 zł(-40%) -
Ta książka jest przystępnie napisanym podręcznikiem dla początkujących programistów. Dokładne omówienie koncepcji programistycznych umożliwi zrozumienie zasad pisania kodu C#, działania środowiska .NET Framework czy koncepcji relacyjnych baz danych. Dzięki książce można bardzo szybko zacząć tworz...
Visual C# dla zupełnie początkujących. Owoce programowania. Wydanie IV Visual C# dla zupełnie początkujących. Owoce programowania. Wydanie IV
(0,00 zł najniższa cena z 30 dni)89.40 zł
149.00 zł(-40%)
Ebooka przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolonych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video zobaczysz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolonych urządzeniach i aplikacjach obsługujących format MP4 (pliki spakowane w ZIP)
Szczegóły książki
- ISBN Ebooka:
- 978-14-919-5449-2, 9781491954492
- Data wydania ebooka:
-
2016-06-08
Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@helion.pl.
- Język publikacji:
- angielski
- Rozmiar pliku ePub:
- 3.6MB
- Rozmiar pliku Mobi:
- 7.3MB
- Kategorie:
Programowanie » C# - Programowanie
Spis treści książki
- Preface
- The Topic of This Book: Ten Guidelines for Building Maintainable Software
- Why You Should Read This Book
- Who Should Read This Book
- What This Book Is Not
- The Follow-up Book
- About the Software Improvement Group
- About This Edition
- Related Books
- Conventions Used in This Book
- Generic Names for Elements of Source Code
- Using Code Examples
- Safari Books Online
- How to Contact Us
- Acknowledgments
- 1. Introduction
- What Is Maintainability?
- The Four Types of Software Maintenance
- What Is Maintainability?
- Why Is Maintainability Important?
- Maintainability Has Significant Business Impact
- Maintainability Is an Enabler for Other Quality Characteristics
- Three Principles of the Guidelines in This Book
- Principle 1: Maintainability Benefits Most from Simple Guidelines
- Principle 2: Maintainability Is Not an Afterthought, and Every Contribution Counts
- Principle 3: Some Violations Are Worse Than Others
- Misunderstandings About Maintainability
- Misunderstanding: Maintainability Is Language-Dependent
- Misunderstanding: Maintainability Is Industry-Dependent
- Misunderstanding: Maintainability Is the Same as the Absence of Bugs
- Misunderstanding: Maintainability Is a Binary Quantity
- Rating Maintainability
- An Overview of the Maintainability Guidelines
- 2. Write Short Units of Code
- Motivation
- Short Units Are Easy to Test
- Short Units Are Easy to Analyze
- Short Units Are Easy to Reuse
- Motivation
- How to Apply the Guideline
- When Writing a New Unit
- When Extending a Unit with New Functionality
- Using Refactoring Techniques to Apply the Guideline
- Refactoring technique: Extract Method
- Refactoring technique: Replace Method with Method Object
- Common Objections to Writing Short Units
- Objection: Having More Units Is Bad for Performance
- Objection: Code Is Harder to Read When Spread Out
- Guideline Encourages Improper Formatting
- This Unit Is Impossible to Split Up
- There Is No Visible Advantage in Splitting Units
- See Also
- 3. Write Simple Units of Code
- Motivation
- Simple Units Are Easier to Modify
- Simple Units Are Easier to Test
- Motivation
- How to Apply the Guideline
- Dealing with Conditional Chains
- Dealing with Nesting
- Common Objections to Writing Simple Units of Code
- Objection: High Complexity Cannot Be Avoided
- Objection: Splitting Up Methods Does Not Reduce Complexity
- See Also
- 4. Write Code Once
- Types of Duplication
- Motivation
- Duplicated Code Is Harder to Analyze
- Duplicated Code Is Harder to Modify
- How to Apply the Guideline
- The Extract Superclass Refactoring Technique
- Common Objections to Avoiding Code Duplication
- Copying from Another Codebase Should Be Allowed
- Slight Variations, and Hence Duplication, Are Unavoidable
- This Code Will Never Change
- Duplicates of Entire Files Should Be Allowed as Backups
- Unit Tests Are Covering Me
- Duplication in String Literals Is Unavoidable and Harmless
- See Also
- 5. Keep Unit Interfaces Small
- Motivation
- Small Interfaces Are Easier to Understand and Reuse
- Methods with Small Interfaces Are Easier to Modify
- Motivation
- How to Apply the Guideline
- Common Objections to Keeping Unit Interfaces Small
- Objection: Parameter Objects with Large Interfaces
- Refactoring Large Interfaces Does Not Improve My Situation
- Frameworks or Libraries Prescribe Interfaces with Long Parameter Lists
- See Also
- 6. Separate Concerns in Modules
- Motivation
- Small, Loosely Coupled Modules Allow Developers to Work on Isolated Parts of the Codebase
- Small, Loosely Coupled Modules Ease Navigation Through the Codebase
- Small, Loosely Coupled Modules Prevent No-Go Areas for New Developers
- Motivation
- How to Apply the Guideline
- Split Classes to Separate Concerns
- Hide Specialized Implementations Behind Interfaces
- Replace Custom Code with Third-Party Libraries/Frameworks
- Common Objections to Separating Concerns
- Objection: Loose Coupling Conflicts With Reuse
- Objection: C# Interfaces Are Not Just for Loose Coupling
- Objection: High Fan-in of Utility Classes Is Unavoidable
- Objection: Not All Loose Coupling Solutions Increase Maintainability
- 7. Couple Architecture Components Loosely
- Motivation
- Low Component Dependence Allows for Isolated Maintenance
- Low Component Dependence Separates Maintenance Responsibilities
- Low Component Dependence Eases Testing
- Motivation
- How to Apply the Guideline
- Abstract Factory Design Pattern
- Common Objections to Loose Component Coupling
- Objection: Component Dependence Cannot Be Fixed Because the Components Are Entangled
- Objection: No Time to Fix
- Objection: Throughput Is a Requirement
- See Also
- 8. Keep Architecture Components Balanced
- Motivation
- A Good Component Balance Eases Finding and Analyzing Code
- A Good Component Balance Better Isolates Maintenance Effects
- A Good Component Balance Separates Maintenance Responsibilities
- Motivation
- How to Apply the Guideline
- Decide on the Right Conceptual Level for Grouping Functionality into Components
- Clarify the Systems Domains and Apply Those Consistently
- Common Objections to Balancing Components
- Objection: Component Imbalance Works Just Fine
- Objection: Entanglement Is Impairing Component Balance
- See Also
- 9. Keep Your Codebase Small
- Motivation
- A Project That Sets Out to Build a Large Codebase Is More Likely to Fail
- Large Codebases Are Harder to Maintain
- Large Systems Have Higher Defect Density
- Motivation
- How to Apply the Guideline
- Functional Measures
- Technical Measures
- Common Objections to Keeping the Codebase Small
- Objection: Reducing the Codebase Size Is Impeded by Productivity Measures
- Objection: Reducing the Codebase Size is Impeded by the Programming Language
- Objection: System Complexity Forces Code Copying
- Objection: Splitting the Codebase Is Impossible Because of Platform Architecture
- Objection: Splitting the Codebase Leads to Duplication
- Objection: Splitting the Codebase Is Impossible Because of Tight Coupling
- 10. Automate Tests
- Motivation
- Automated Testing Makes Testing Repeatable
- Automated Testing Makes Development Efficient
- Automated Testing Makes Code Predictable
- Tests Document the Code That Is Tested
- Writing Tests Make You Write Better Code
- Motivation
- How to Apply the Guideline
- Getting Started with NUnit Tests
- General Principles for Writing Good Unit Tests
- Measure Coverage to Determine Whether There Are Enough Tests
- Common Objections to Automating Tests
- Objection: We Still Need Manual Testing
- Objection: I Am Not Allowed to Write Unit Tests
- Objection: Why Should We Invest in Unit Tests When the Current Coverage Is Low?
- See Also
- 11. Write Clean Code
- Leave No Trace
- How to Apply the Guideline
- Rule 1: Leave No-Unit Level Code Smells Behind
- Rule 2: Leave No Bad Comments Behind
- Rule 3: Leave No Code in Comments Behind
- Rule 4: Leave No Dead Code Behind
- Unreachable code in methods
- Unused private methods
- Code in comments
- Rule 5: Leave No Long Identifiers Behind
- Rule 6: Leave No Magic Constants Behind
- Rule 7: Leave No Badly Handled Exception Behind
- Common Objections to Writing Clean Code
- Objection: Comments Are Our Documentation
- Objection: Exception Handling Causes Code Additions
- Objection: Why Only These Coding Guidelines?
- 12. Next Steps
- Turning the Guidelines into Practice
- Lower-Level (Unit) Guidelines Take Precedence Over Higher-Level (Component) Guidelines
- Remember That Every Commit Counts
- Development Process Best Practices Are Discussed in the Follow-Up Book
- A. How SIG Measures Maintainability
- Index
O'Reilly Media - inne książki
-
FinOps brings financial accountability to the variable spend model of cloud. Used by the majority of global enterprises, this management practice has grown from a fringe activity to the de facto discipline managing cloud spend. In this book, authors J.R. Storment and Mike Fuller outline the proce...(0,00 zł najniższa cena z 30 dni)
262.65 zł
309.00 zł(-15%) -
Edge AI is transforming the way computers interact with the real world, allowing IoT devices to make decisions using the 99% of sensor data that was previously discarded due to cost, bandwidth, or power limitations. With techniques like embedded machine learning, developers can capture human intu...(0,00 zł najniższa cena z 30 dni)
262.65 zł
309.00 zł(-15%) -
Why is it difficult for so many companies to get digital identity right? If you're still wrestling with even simple identity problems like modern website authentication, this practical book has the answers you need. Author Phil Windley provides conceptual frameworks to help you make sense of all ...(0,00 zł najniższa cena z 30 dni)
186.15 zł
219.00 zł(-15%) -
Python was recently ranked as today's most popular programming language on the TIOBE index, thanks to its broad applicability to design and prototyping to testing, deployment, and maintenance. With this updated fourth edition, you'll learn how to get the most out of Python, whether you're a profe...(0,00 zł najniższa cena z 30 dni)
305.15 zł
359.00 zł(-15%) -
With the accelerating speed of business and the increasing dependence on technology, companies today are significantly changing the way they build in-house business solutions. Many now use low-code and no code technologies to help them deal with specific issues, but that's just the beginning. Wit...
Building Solutions with the Microsoft Power Platform Building Solutions with the Microsoft Power Platform
(0,00 zł najniższa cena z 30 dni)262.65 zł
309.00 zł(-15%) -
Companies are scrambling to integrate AI into their systems and operations. But to build truly successful solutions, you need a firm grasp of the underlying mathematics. This accessible guide walks you through the math necessary to thrive in the AI field such as focusing on real-world application...(0,00 zł najniższa cena z 30 dni)
262.65 zł
309.00 zł(-15%) -
DevOps engineers, developers, and security engineers have ever-changing roles to play in today's cloud native world. In order to build secure and resilient applications, you have to be equipped with security knowledge. Enter security as code.In this book, authors BK Sarthak Das and Virginia Chu d...(0,00 zł najniższa cena z 30 dni)
186.15 zł
219.00 zł(-15%) -
With the increasing use of AI in high-stakes domains such as medicine, law, and defense, organizations spend a lot of time and money to make ML models trustworthy. Many books on the subject offer deep dives into theories and concepts. This guide provides a practical starting point to help develop...(0,00 zł najniższa cena z 30 dni)
262.65 zł
309.00 zł(-15%) -
Why are so many companies adopting GitOps for their DevOps and cloud native strategy? This reliable framework is quickly becoming the standard method for deploying apps to Kubernetes. With this practical, developer-oriented book, DevOps engineers, developers, IT architects, and SREs will learn th...(0,00 zł najniższa cena z 30 dni)
262.65 zł
309.00 zł(-15%) -
Learn the essentials of working with Flutter and Dart to build full stack applications that meet the needs of a cloud-driven world. Together, the Flutter open source UI software development kit and the Dart programming language for client development provide a unified solution to building applica...(0,00 zł najniższa cena z 30 dni)
220.15 zł
259.00 zł(-15%)
Dzieki opcji "Druk na żądanie" do sprzedaży wracają tytuły Grupy Helion, które cieszyły sie dużym zainteresowaniem, a których nakład został wyprzedany.
Dla naszych Czytelników wydrukowaliśmy dodatkową pulę egzemplarzy w technice druku cyfrowego.
Co powinieneś wiedzieć o usłudze "Druk na żądanie":
- usługa obejmuje tylko widoczną poniżej listę tytułów, którą na bieżąco aktualizujemy;
- cena książki może być wyższa od początkowej ceny detalicznej, co jest spowodowane kosztami druku cyfrowego (wyższymi niż koszty tradycyjnego druku offsetowego). Obowiązująca cena jest zawsze podawana na stronie WWW książki;
- zawartość książki wraz z dodatkami (płyta CD, DVD) odpowiada jej pierwotnemu wydaniu i jest w pełni komplementarna;
- usługa nie obejmuje książek w kolorze.
W przypadku usługi "Druk na żądanie" termin dostarczenia przesyłki może obejmować także czas potrzebny na dodruk (do 10 dni roboczych)
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka, którą chcesz zamówić pochodzi z końcówki nakładu. Oznacza to, że mogą się pojawić drobne defekty (otarcia, rysy, zagięcia).
Co powinieneś wiedzieć o usłudze "Końcówka nakładu":
- usługa obejmuje tylko książki oznaczone tagiem "Końcówka nakładu";
- wady o których mowa powyżej nie podlegają reklamacji;
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.


Oceny i opinie klientów: Building Maintainable Software, C# Edition. Ten Guidelines for Future-Proof Code Joost Visser, Sylvan Rigal, Gijs Wijnholds (0)
Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.