I get what you are trying to say.. but I'm looking at the code after changing names, and I think it makes more sense in the code my way because of the following lines..

outFile = open(aFile.lower(), 'w')
#open 'afile' named with lowercase to 'w'rite
outFile.write(zFile.read(insideZip))
#write what you read 'insidezip'

This is what I mean by functional names verses descriptive... Your way I'd have a better grasp of the data, my way I feel I have a better grasp of what is going on in my code. When I'm done writing my code and go back through the documentation I'll be adding all the variables used to the docstring, inputs, outputs.. all that jazz. Even if I didn't, and I'd never seen this code before, I'd try to figure out what it is doing before caring what data is being manipulated. Think about it... understanding the purpose in context will give me a better understanding of what the data going in, and coming out should appear to be, then hoping the author picked the right stuff. Perhaps I've adopted this habbit after years of trying to learn from snippets of code online where people use completely generic variable names as references, and kind of started ignoring variable names..

Seriously... its just how you look at things... I obviously read code and get my understanding very differently then many people on here. I take more of a top down approach, while it sounds many of you take a bottom up approach.

On 10/17/06, Kent Johnson <[EMAIL PROTECTED]> wrote:
Chris Hengge wrote:
> I chose the way I used the names because to me...
>
> outFile = open(aFile.lower(), 'w') # Open output buffer for writing.
> = open a file with lowercase name for writing.
> it is implied that aFile is from the zip, since it is created in the
> loop to read the zip..
>
> outFile.write(zFile.read(insideZip)) # Write the file.
> = write what is read from inside the zip file.

This sub-thread seems to have turned into "let's beat on Chris for the
way he names things" which certainly isn't what I intended. Ultimately
it is up to the program author to use the names that he thinks
communicate most clearly.

But I think the actual naming was secondary to the my main point which
is that the value for 'insideZip' is read from the zip, if you assign to
that name and keep it in that name the code is easier to follow because
the value that doesn't change stays in a name that doesn't change.

So using your names, it would read
             for insideZip in zFile.namelist():
                 for ext in ['.cap', '.hex', '.fru', '.cfg', '.sdr']:
                     if insideZip .lower().endswith(ext):
                         if "/" in insideZip :
                           aFile = aFile.rsplit('/', 1)[-1]
                         elif  "\\" in insideZip :
                           aFile = aFile.rsplit('\\', 1)[-1]
                         else:
                           aFile = insideZip

This way inzideZip is always the name from inside the zip, and aFile is
always the name of the file to write.
>
> I guess for declaration it isn't very clear, but thats what comments are
> for?

The comments about comments have been on the mark, I think. A helpful
guideline I use is, when I think I need a comment, look at the names I
am using and see if I can create a function whose name conveys what I
wanted to say in the comment.

Kent


_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to