This document by Victor Rentea focuses on the principles of clean code in enterprise Java, emphasizing the importance of readability, maintainability, and proper naming conventions. It covers various aspects such as the structure of functions, classes, and comments, advocating for small, self-explanatory methods and clear class designs to enhance team collaboration and code quality. The document also discusses advanced topics such as side effects, command/query separation, and the distinctions between objects and data structures to promote effective software development practices.
Presentation introduction, speaker background, importance of clean code, and its principles.
Highlights that 80% of software cost is in maintenance, emphasizing the need for clean code to improve readability.
Discusses the importance of names in programming: clarity, uniqueness, meaningfulness, and consistency.Additional guidelines for naming variables, functions, and classes, including context and length considerations.
Principles that functions should be small, focused, and answer a singular question without surprises.
Advantages of small functions for readability, function naming best practices, and maintaining clean code.
Best practices for function signatures, including reducing parameters and avoiding nullable types.
Emphasizes continuous refactoring and extracting methods to improve code structure and readability.
Advocates for early returns to improve readability and simplicity of functions.
Method extraction to reduce complexity and enhance code clarity through functional decomposition.
Identifies side effects in functions as a concern, emphasizing separation between command and query methods.
Discussion of code structures that lead to temporal coupling issues, often making code more difficult to maintain.
Standard conventions for organizing class members including fields, constructors, and methods.
Best practices for defining constants in classes and how to properly use enums for clarity and maintainability.Distinguishing between data structures and true objects, discussing encapsulation and abstraction.
Importance of code formatting for clarity and communication, and team style suggestions.
Criticism of unnecessary comments, highlighting that code should be self-explanatory.Summarizes naming, function, comment best practices, general coding guidance, and thanks.
References for further reading on clean coding principles and related resources.