Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
By, Ben Orenstein Help us caption & translate this video! http://amara.org/v/GZe3/
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 this engaging live coding session presented by Ben Orenstein at BathRuby 2015, the theme revolves around programming fundamentals and the importance of code refactoring for maintaining cleanliness and structure in software design. Ben, a self-described higher education dropout and a moderately skilled programmer, invites audience interaction throughout his talk, aiming for a collaborative atmosphere. The goal is not merely to demonstrate coding but to engage the audience, encouraging them to provide feedback, ask questions, and actively participate in the coding process. Key points discussed during the session include: - **Live Coding Interaction**: Ben emphasizes the value of discussion and back-and-forth interactions during coding sessions, likening the experience to pair programming where he drives the code and the audience navigates. - **Refactoring with the Single Responsibility Principle (SRP)**: The demonstration focuses on a class responsible for sending email invitations, where Ben showcases the necessity of adhering to SRP. He identifies the dilution of responsibilities in his initial implementation and proposes refactoring to separate the parsing logic into its own class. - **Practical Coding Examples**: Ben provides clear examples using Vim to code and demonstrates real-time test results. He shows how to use test-driven development (TDD) effectively to iteratively develop and refine the code, emphasizing the importance of running tests frequently to ensure the code behaves as expected. - **Dependency Injection**: He explains the advantages of dependency injection for managing complexity in code. Through this approach, classes do not create their dependencies but receive them as parameters, enhancing the clarity of code flow and simplifying testing. - **Managing Complexity**: The session highlights that complexity arises from mixing different concerns in code. By following SRP and managing dependencies wisely, developers can maintain cleaner and more maintainable codebases. The presentation wraps up with Ben reinforcing the importance of SRP and dependency management, urging attendees to keep these principles in mind when building applications. He concludes with a catchy jingle summarizing the message, thanking the audience for their participation and engagement throughout the session.
Suggest modifications
Cancel