"Crash as early as possible" is a brilliant rule. I've seen production code, that tried to guess smartly on wrong input. This lead to absolute chaos!
in fact i created the wrong input,but the fancy rules to guess good input from crop made it an epic fail.
Samuel Williams <space.ship.traveller@gmail.com> schrieb:
···
Unsubscribe: <mailto:ruby-talk-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-talk>
The rule is not to _crash_ as early as possible but to _fail_. The
difference being that a "crash" is a completely abnormal termination
(usually of a whole process) while failing is still controlled by the
business rules embodied in a piece of software. A failure based on
wrong input usually leaves the system in an unchanged state whereas
with a crash you often do not know in what state the system was left
(depending on the specifics of course).
Kind regards
robert
···
On Mon, Apr 25, 2016 at 5:31 AM, Samuel Williams <space.ship.traveller@gmail.com> wrote:
On 25 April 2016 at 01:42, Ralf Müller <ralf.mueller@mpimet.mpg.de> wrote:
"Crash as early as possible" is a brilliant rule. I've seen production
code, that tried to guess smartly on wrong input. This lead to absolute
chaos!
in fact i created the wrong input,but the fancy rules to guess good input
from crop made it an epic fail.
You totally get it 
--
[guy, jim, charlie].each {|him| remember.him do |as, often| as.you_can
- without end}
http://blog.rubybestpractices.com/
Sorry, for the wording. I should have written "exit" 
cheers
ralf
···
On 04/25/2016 08:56 AM, Robert Klemme wrote:
On Mon, Apr 25, 2016 at 5:31 AM, Samuel Williams > <space.ship.traveller@gmail.com> wrote:
On 25 April 2016 at 01:42, Ralf Müller <ralf.mueller@mpimet.mpg.de> wrote:
"Crash as early as possible" is a brilliant rule. I've seen production
code, that tried to guess smartly on wrong input. This lead to absolute
chaos!
in fact i created the wrong input,but the fancy rules to guess good input
from crop made it an epic fail.
You totally get it 
The rule is not to _crash_ as early as possible but to _fail_. The
difference being that a "crash" is a completely abnormal termination
(usually of a whole process) while failing is still controlled by the
business rules embodied in a piece of software. A failure based on
wrong input usually leaves the system in an unchanged state whereas
with a crash you often do not know in what state the system was left
(depending on the specifics of course).