On Wed, Feb 26, 2014 at 1:01 PM, Gregory McIntyre <[email protected]> wrote:
> 2) How do you effectively go about changing a code base from ubiquitous poor > quality code to extreme ubiquitous awsum++ quality code? There are issues > far broader than "refactor it" - like business justification, timing, mixed > skill teams, etc. Rescue jobs are daunting and you risk abject failure. > Currently IMHO the place to start is to retrofit fast and complete tests, > which is time consuming and undervalued by the business but I see no better > way. Is there a better way? FWIW, I offered one possible solution to this recently: How to Refactor Incredibly Bad Code http://bugroll.com/ratcheting.html But on to my three: 1. Rails is fast enough for production, but too slow for development. I've yet to find any feasible parallelisation strategy that will run my tests in under 15 minutes. Build matrices (travis, etc.) are expensive, and parallel_tests just isn't enough. 2. The increasingly broad scope of Rails opinion on things. For example, including Spring in 4.1.0 is a bad idea IMHO. Application preloaders are the 3D glasses of professional development. How long before Rails comes with Ember/Angular/etc built-in? :) 3. Callbacks, callbacks, everywhere. Not only do callbacks make it difficult to follow what's going on, but the way AR relies on validation callbacks, etc., makes it extremely difficult to extract more complex business logic into service objects in many cases. That said, the positives of Rails dramatically outweigh the negatives IMHO. It's hard to overstate the value in convention over configuration, and it still amazes me that I can walk into pretty much any large Rails codebase and know where to find things right away. Cheers, Brad -- You received this message because you are subscribed to the Google Groups "Ruby or Rails Oceania" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/rails-oceania. For more options, visit https://groups.google.com/groups/opt_out.
