Talks
Speakers
Events
Topics
Search
Sign in
Search
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
search talks for
⏎
Suggest modification to this talk
Title
Description
Keeping Code Style Sanity in a 10-year-old Codebase by Gabi Stefanini This is a sponsored talk by Shopify. Conversations around code consistency seem to spark either cheers or jeers from developers. In this talk, I'll explore the good, bad, and the ugly of code style consistency as illustrated by the (sometimes drama-filled) history of Shopify's 10-year-old codebase. Highlighting strategies to help you evaluate when to push for better code consistency; you will hear about our techniques, tools and guides to enrich developer experience without compromising productivity and how to ultimately make code consistency important across the organization.
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 the talk "Keeping Code Style Sanity in a 10-year-old Codebase" by Gabi Stefanini at RailsConf 2017, the challenges and strategies associated with maintaining code consistency in Shopify's decade-old Ruby codebase are explored. The discussion highlights the developers' diverse opinions on code style consistency and the complexities that arise from enforcing a uniform style across a large and diverse team. This session reveals how, over the years, the codebase grew to more than 700,000 lines of Ruby code and involved contributions from over 700 developers. Key points discussed include: - **Historical Context**: Shopify's codebase has evolved since its inception in 2004, originally lacking consistent styling guidelines. - **Initial Attempt at Consistency**: In 2007, a rudimentary style guide was introduced, which largely fell by the wayside due to the slow adoption of consistency policies. - **Introduction of Robocop**: In 2014, the Robocop gem was integrated for basic style checks; however, it faced backlash for overwhelming the codebase with violations due to its strict checks. - **Policia Tool Development**: To mitigate the influx of style violations, the Policia tool was developed, which checks new and modified code, allowing the team to focus on code quality without disrupting existing code. - **Survey Feedback**: In 2016, developer feedback indicated mixed feelings about Policia, praising its advantages for onboarding and readability but critiquing the time needed to address style violations in PRs. - **Evolving Strategy**: The team transitioned to a new approach where they would start with zero configured rules in Robocop, allowing them to add only the relevant ones, improving receptivity among developers. - **Iterative Improvements**: Continuous improvements were noted, and the team aimed to integrate style checks as part of the CI process, which would streamline the developer's workflow and code adherence without overburdening them. The session concludes by emphasizing the importance of discussion, adaptability, and incremental changes in establishing a consistent coding standard. Key takeaways include: - Developers should have a forum for discussing code style rules. - Customizable linting rules should align with specific team needs. - Flexibility in adapting rules can lead to an easier acceptance among team members. - Reinforcing the understanding of coding standards improves code readability and developer onboarding, ultimately enhancing productivity. Overall, Gabi's talk provides valuable insights into balancing code consistency with developer autonomy, reflecting on the trials and tribulations encountered at Shopify.
Suggest modifications
Cancel