Date: Mon, 13 Dec 2010 20:17:48 -0500
Reply-To: Quentin McMullen <qmcmullen.sas@GMAIL.COM>
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: Quentin McMullen <qmcmullen.sas@GMAIL.COM>
Subject: Re: pros and cons of config, autoexec, etc
In-Reply-To: <9F0A90FE1B47E74DB4DF72EC940E33AC02401F53@EMBX-CHAM4.cdc.gov>
Content-Type: text/plain; charset=ISO-8859-1
On Mon, Dec 13, 2010 at 10:59 AM, Fehd, Ronald J. (CDC/OCOO/ITSO) <
rjf2@cdc.gov> wrote in part:
>
> Quentin: I challenge your basic assumption of programmers working in a sas
> session
> many of your concerns disappear when you are submitting programs in batch.
>
> one's assumption in starting a session are:
>
> 1. "now how do I change SASinitialFolder to the project I am working in?"
>
> 2. "next, where are the data?"
>
> 3. "all those intra-project utilities, what's the naming convention for
> them and the FileRef?"
>
> all those concerns disappear when you use an autoexec:
>
> Libname Library ...;
> Filename Project '.';
> Filename SiteIncl ...;
> Filename SiteMacr ...;
> options mautosource sasautos = (Project SiteMacr SASautos)
>
>
> http://www.sascommunity.org/wiki/Batch_processing_under_Windows#Advanced_Macro_Use:_AutoCall
>
> <snip>
Would just say that while you could have the above in an autoexec, you could
also have it in a %include file, or %setup() macro. And since I use a
keyboard macro to create my program header, it does not add any more
key-strokes to have that keyboard macro also write a call to %setup. But
I'm just repeating myself. More to the point, you write:
> I read your resistance to use of the standard tools available
> as continuing to want to program independently
>
> That's great for your 10,000 hours of self-education, bricolage, and ad-hoc
> programming.
> Now that you are being paid well to work collaboratively on a team,
> then your personal penchant for rule-breaking
> -- which is how you got to be a Good Programmer --
> needs to be set aside in favor of the team's rules, in YourCompany.
>
> Here I think you misunderstand me. You imagine that I've landed in a
Company which has decided to make use of project-specific config files,
auto-execs, etc (oh my), and that I'm somehow objecting to the practice,
choosing to 'go it alone.'
Instead, I initiated this chain before I had started at the new place.
And as prep work, was wondering whether I should create my own personal
config / autoexec procedures before starting in the new role. This thread
(with help from you and particularly Suzanne), has convinced me that it
would be a mistake for me to do too much customization work on my *personal*
config and autoexec, if the new environment has not (yet) standardized on
such practices.
I've worked a lot of places where there is a sort of low-level amount of
code sharing and standardization, without the infrastructure/overhead to
implement serious standardization practices to the degree described by
Suzanne. So in this more loosely arranged group, there is a benefit to
having as much of the logic/environment setup as possible in each SAS
program. Knowing that the programmer down the hall does not have the same
config or autoexec file as me, putting all of my options/libnames/etc in my
main program makes it all the more likely that when I win the lottery, (s)he
will be able to run my code and produced the desired output.
> Your life gets easier when you give up having to write everything from
> scratch
>
Agree of course. And I'm very thankful for the macro language.
Kind Regards,
--Quentin
|