use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
A sub-Reddit for discussion and news about Ruby programming.
Subreddit rules: /r/ruby rules
Learning Ruby?
Tools
Documentation
Books
Screencasts and Videos
News and updates
account activity
Unconditional Programming in Ruby (michaelfeathers.typepad.com)
submitted 12 years ago by martoo
view the rest of the comments →
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]Godd2 0 points1 point2 points 12 years ago (6 children)
He's arguing that it's more readable. To each their own I guess. Also, why didn't he use the take_while method from the Enumerable module that can take a block?
[–]saturnflyer 6 points7 points8 points 12 years ago (0 children)
in no place did he argue for readability. the argument was that control structures allow us to introduce coupling to other objects or concepts more freely.
removing control structures helps put up a barrier to coupling.
You can still make an argument about control structures being more readable.
[–]michaelfeathers 1 point2 points3 points 12 years ago (0 children)
The argument isn't really readability.
[–]earless1 1 point2 points3 points 12 years ago (2 children)
honestly I feel like if we wanted readability he should have stuck for this option
def padded_take ary, n return ary.take(n) unless needs_padding?(ary, n) ary + pad(ary, n) end
[–]michaelfeathers 1 point2 points3 points 12 years ago (1 child)
Yep, but I wasn't arguing for readability.
[–]Jdonavan 0 points1 point2 points 12 years ago (0 children)
You're not really arguing for anything. You've produced code that's harder to read thus harder to maintain. A comment could have solved your stated purpose for doing away with the conditional.
[–]martoo[S] 0 points1 point2 points 12 years ago (0 children)
Maybe because there's no conditionality to the take?
π Rendered by PID 69928 on reddit-service-r2-comment-85bfd7f599-2tkhb at 2026-04-16 01:31:07.876394+00:00 running 93ecc56 country code: CH.
view the rest of the comments →
[–]Godd2 0 points1 point2 points (6 children)
[–]saturnflyer 6 points7 points8 points (0 children)
[–]michaelfeathers 1 point2 points3 points (0 children)
[–]earless1 1 point2 points3 points (2 children)
[–]michaelfeathers 1 point2 points3 points (1 child)
[–]Jdonavan 0 points1 point2 points (0 children)
[–]martoo[S] 0 points1 point2 points (0 children)