Get an improved navigation experience with a Chrominium based browser.
Dismiss
Ruby Video
Talks
Speakers
Events
Leaderboard
Sign in
Talks
Speakers
Events
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
Plain, Old, but Mighty: Leveraging POROs in Greenfield and Legacy Code by Sweta Sanghavi Applications exist in changing ecosystems, but over time, they can become less responsive. Controllers actions slowly grow in responsibilities. Models designed for one requirement, no longer fit the bill, and require multi-step deploy processes to change. The plain old Ruby object, the mighty PORO, provides flexibility in both new domain and legacy code. Pair with me on how! We'll explore how we can leverage POROs in our application through some real world examples. We'll use objects as a facade for domain logic in development, and refactor objects out of legacy code to increase readability, ease of testing, and flexibility. You'll leave this session with some strategies to better leverage Ruby objects in your own application.
Date
Summary
Markdown supported
The talk titled "Plain, Old, but Mighty: Leveraging POROs in Greenfield and Legacy Code" by Sweta Sanghavi focuses on the effective use of Plain Old Ruby Objects (POROs) to enhance the development process in both new and legacy code environments. Key points discussed in the video include: - **Understanding POROs**: A PORO is defined as a Ruby object that does not inherit any functionality from Rails, aiming for simplicity and usability within the Rails application. - **Benefits of Using POROs**: Utilizing POROs promotes better object-oriented design, flexibility, a usable API, and faster testing, allowing developers to maintain speed in development amidst changing requirements. - **Case Study: BackerKit**: Sanghavi shares her experience at BackerKit, illustrating how they managed the transition from B2B to B2C crowdfunding while navigating complex requirements and overcoming challenges by leveraging POROs. - **Example in Greenfield Code**: The session illustrates a practical example where a progress bar is integrated for simultaneous crowdfunding projects using a PORO, showcasing how complexities can be managed and separated efficiently. - **Refactoring Legacy Code**: The speaker discusses the challenges associated with legacy code, emphasizing the role of POROs in breaking down intricate code structures into manageable parts, enabling incremental improvements. - **Focus on Incremental Improvement**: The importance of making small, manageable changes to code using POROs is highlighted, suggesting that even minor adjustments can pave the way for greater clarity and refactoring opportunities in legacy systems. - **Seam Creation**: POROs create seams in the code which facilitate future modifications, making the codebase cleaner and easier to extend. In conclusion, Sweta Sanghavi emphasizes that POROs are essential for creating flexible, maintainable code in both new applications and legacy systems. By promoting incremental change and clarity, developers can leave their codebases in a better state for future work, ultimately inviting simplicity into their designs. The session ends with encouragement to approach code development with curiosity and incremental improvement, modeled on the strategies shared throughout the talk. Overall, the takeaway is to leverage the power of simple yet effective code structures through the use of POROs, ultimately leading to more adaptable and clean codebases.
Suggest modifications
Cancel