From cubranic at stat.ubc.ca  Wed Jul 27 00:19:00 2011
From: cubranic at stat.ubc.ca (Davor Cubranic)
Date: Tue, 26 Jul 2011 15:19:00 -0700
Subject: [Rd] Best practices for writing R functions
In-Reply-To: <1311425861566-3688850.post@n4.nabble.com>
References: <1311341191873-3686674.post@n4.nabble.com>
	<4E2993CE.4020903@prodsyse.com>
	<CADwqtCONeEqXTTg0OyDj=OJWeQxNKBm79M=iBg1jdy6JtO_w0Q@mail.gmail.com>
	<6441154A9FF1CD4386AF4ABF141A056D265A9E9B@WMEXOSCD2-N1.bocad.bank-banque-canada.ca>
	<CABdHhvHvB4vV5BymZfSguxCUH745nd6mrAk8EDw8Kk3RPN-C2Q@mail.gmail.com>
	<1311425861566-3688850.post@n4.nabble.com>
Message-ID: <DC70CFDD-72C3-4010-9EEC-B5EB540AD85E@stat.ubc.ca>

On 2011-07-23, at 5:57 AM, Alireza Mahani wrote:

> Another trick to reduce verbosity of code (and focus on algorithm logic
> rather than boilerplate code) is to maintain a global copy of variables (in
> the global environment) which makes them visible to all functions (where
> appropriate, of course). Once the development and testing is finished, one
> can tidy things up and modify the function prototypes, add lines for
> unpacking lists inside functions, etc.

I think you'd be better off to stay away from such tricks. It's asking for trouble later on, because unless you have really good unit tests it is very easy to miss a variable during "tidying up" and end up with code that works fine in your development environment but is full of bugs once you distribute it to others.

Davor


[Rd] Best practices for writing R functions
Davor Cubranic