Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
RailsConf 2018: Don't Settle for Poor Names (or for Poor Design) by Alistair McKinnell Have you ever been frustrated with code that is sprinkled with poorly named classes, methods, and variables? One of the most valuable things you can do as a developer is to choose good names and to sensitize your teammates to the benefits of improving names. It turns out that improving names is deeply connected to improving design. And vice-versa. You will see and experience this deep connection as we explore a real world example. By the end of this talk, you will have learned a process to get you started with improving names and improving design—a process simple enough for you to teach others.
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
In his talk at RailsConf 2018, Alistair McKinnell emphasizes the importance of naming in software development, linking it directly to design. He explains that as codebases grow, particularly in large projects, good naming becomes essential for maintainability and clarity. Throughout the presentation, McKinnell shares insights from his extensive experience in programming, beginning from his early days writing code for mainframes to his current work with Ruby on Rails. Key points discussed in the talk include: - **The Connection Between Naming and Design**: McKinnell posits that effective naming and thoughtful design are interdependent processes that help improve code quality. - **Real-world Example (Q Cloud)**: The talk centers on a project called Q Cloud, a quality control application. McKinnell illustrates how the naming for certain structures (like 'attribution event') evolved through practical problem-solving and code refactoring, resulting in improved clarity and functionality. - **Recognizing Patterns in Code**: He discusses identifying duplication in code as a trigger for abstraction, demonstrating through the creation of the 'attribution event' value object that encapsulates related fields in a meaningful way. - **Improvements to Code Abstraction**: He showcases how the refactoring process leads to a clearer structure, as well as how the introduction of class macros and concerns in Rails can streamline code and reduce duplication, leading to more maintainable applications. - **Dynamic Design Approaches**: The talk includes a focus on iterative improvements, suggesting that ongoing refinement of names and structures is a normal part of the software development lifecycle. - **Conclusion and Resources**: McKinnell concludes by recommending approaches from domain-driven design and simple design principles to foster better naming practices. He encourages developers to continuously improve their naming conventions to enhance design and maintainability. Overall, the presentation underscores that investing time in naming is not just a surface-level task; it significantly contributes to the overall design quality and lifecycle of a software project.
Suggest modifications
Cancel