Repository: hexdevs/ruby-best-practices-list Branch: main Commit: 8963abfe78ee Files: 1 Total size: 4.3 KB Directory structure: gitextract_b337ghph/ └── README.md ================================================ FILE CONTENTS ================================================ ================================================ FILE: README.md ================================================ # Ruby Best Practices List πŸ“š A list of well-written Ruby codebases and resources to help you extract and apply best practices in your Ruby apps. For the exercises, we suggest you follow [this exercise format](https://www.hexdevs.com/posts/learn-ruby-best-practices-with-one-exercise/#one-exercise-to-teach-you-ruby-on-rails-best-practices) to get the most out of this list. --- ## Open-Source Projects πŸ’» - [Upcase by thoughtbot](https://github.com/thoughtbot/upcase) - [dry-rb/dry-validation](https://github.com/dry-rb/dry-validation) - [fog](https://github.com/fog/fog) - [Sustainable Rails Template](https://github.com/davetron5000/rails-app-template-sustainable) ## Articles πŸ“° - [Learn Ruby on Rails Best Practices With One Exercise 🍝](https://www.hexdevs.com/posts/learn-ruby-best-practices-with-one-exercise/) - [How to Improve Code Quality on a Ruby on Rails Application](https://www.hexdevs.com/posts/technical-debt-ruby-on-rails/) - [Sandi Metz' Rules For Developers](https://thoughtbot.com/blog/sandi-metz-rules-for-developers) - [Breaking Up the Behemoth by Sandi Metz](https://sandimetz.com/blog/2017/9/13/breaking-up-the-behemoth) - [The Doctrine of Useful Objects](http://docs.eventide-project.org/user-guide/useful-objects.html) ## Papers - [Defining, Measuring, and Managing Technical Debt](https://www.computer.org/csdl/magazine/so/2023/03/10109339/1MESXKyAYNO) ## Courses πŸ“Ί - [Clean-Code Series - Upcase](https://thoughtbot.com/upcase/clean-code) - [Sandi Metz's Rules - Upcase](https://thoughtbot.com/upcase/videos/sandi-metzs-rules) ## Books πŸ”– - [Ruby Science - The reference for writing fantastic Rails applications](https://github.com/thoughtbot/ruby-science) - [Practical Object-Oriented Design (POODR)](https://sandimetz.com/products#product-poodr) - [Sustainable Web Development with Ruby on Rails](https://sustainable-rails.com/) - [The Mythical Man-Month](https://en.wikipedia.org/wiki/The_Mythical_Man-Month) - [Exceptional Ruby](https://store.avdi.codes/l/NWtnk) - [Refactoring: Ruby Edition](https://martinfowler.com/books/refactoringRubyEd.html) - [Working Effectively with Legacy Code](https://www.goodreads.com/book/show/44919.Working_Effectively_with_Legacy_Code) ## Talks🎀 - [Polly want a message - Sandi Metz](https://www.youtube.com/watch?v=XXi_FBrZQiU) - [Get a Whiff of This - Sandi Metz](https://www.youtube.com/watch?v=PJjHfa5yxlU) - [Escaping The Tar Pit - Ernesto Tagwerker](https://www.youtube.com/watch?v=ZyU6K6eR-_A) - [Makers vs Menders Talk by M. Scott Ford](https://www.youtube.com/watch?v=YW0BpCThjuM) ## Podcasts 🎧 - [hexdevs podcast - Ruby Code Quality with Ernesto Tagwerker](https://www.hexdevs.com/posts/ruby-code-quality-ernesto-tagwerker/) - [hexdevs podcast - Building Technical Wealth and Improving Legacy Code with M. Scott Ford](https://www.hexdevs.com/posts/building-technical-wealth-legacy-code-m-scott-ford/) ## Tools 🧰 - [RubyCritic](https://github.com/whitesmith/rubycritic): a gem that wraps around static analysis gems such as Reek, Flay and Flog to provide a quality report of your Ruby code. - [Skunk](https://github.com/fastruby/skunk): A SkunkScore Calculator for Ruby Code -- Find the most complicated code without test coverage! - [rails_stats - See more stats about a Rails app](https://github.com/fastruby/rails_stats) - [metric_fu - A list of code metrics (best practices, code smells, etc.) for Ruby projects](https://github.com/metricfu/metric_fu) - [Coverband](https://github.com/danmayer/coverband) - Ruby production code coverage collection and reporting (line of code usage) - [Sonarqube](https://www.sonarqube.org/) - Thousands of automated Static Code Analysis rules, protecting your app on multiple fronts, and guiding your team. - [CodeScene](https://codescene.com/) - One tool to visualise, understand and improve your software when it comes to code, knowledge and people behind it. - [Code Quality Tools - a massive list of code quality tools and metrics for Ruby projects](https://github.com/metricfu/metric_fu/wiki/Code-Tools) ## Challenges πŸ› οΈ - [The Code Quality Challenge](https://tuple.app/code-quality-challenge) ## Cheat Sheets πŸ” - [Smells to Refactorings Quick Reference Guide](https://www.industriallogic.com/img/blog/2005/09/smellstorefactorings.pdf) --- List compiled by [hexdevs](https://www.hexdevs.com). Have a suggestion or a question? Discussions are welcomed [here](https://github.com/hexdevs/ruby-best-practices-list/discussions/1).