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.

Reply via email to