[thelist] programming info

Brooking, John John.Brooking at sappi.com
Thu Apr 20 09:19:12 CDT 2006


> From: "John DeStefano" <john.destefano at gmail.com>
>
> ... [lots of snipping] ...
>
> I'd really appreciate some constructive feedback: ideas on what may
> have gotten you started off on the right foot to learning, books or
> sites that helped you to better understand the process or how to
> recognize what constructs can and should be used in which situations. 
> Anything to give me a boost and help push me up out of this
> nowhereland between "beginner" and "novice".

John,

   The simply answer, as someone else suggested, might just be to do it
more. Like anything else you do, book learning can only take you so far.
Some of it only comes with experience.

   That said, I think what you are struggling with is moving beyond mere
syntactical knowledge into the more abstract concepts that the advanced
code you are looking at probably exhibits. These concepts usually have
various buzzwords associated with them like object-oriented,
encapsulation, loose coupling, and orthogonality. You don't say if
you've learned much about object-oriented programming. That might be a
good direction for you to go, and hopefully you have already encountered
it in the code you look at. And many of these concepts can actually be
learned from books, classes, or by STFI. :-)

    Even without these concepts, starting thinking about issues like
code re-use and separation of layers, such as the database versus the
business logic versus the presentation. Put the different kinds of code
in different places, minimizing their interaction as much as possible.
(Objects are a great way to cordon off the database and business logic
layers.) If you find yourself writing similar code more than once,
consider writing a generic function (or object) that can be called in
multiple situations, perhaps with parameters to handle any slight
variations needed. Always think in the back of your mind about how easy
this will be to re-use or change in the future. And of course (you
probably know this), use meaningful variable names, and use plenty of
comments where the code is not immediately obvious even with meaningful
names.

   Hope this helps.

- John

-- 


This message may contain information which is private, privileged or confidential and is intended solely for the use of the individual or entity named in the message. If you are not the intended recipient of this message, please notify the sender thereof and destroy / delete the message. Neither the sender nor Sappi Limited (including its subsidiaries and associated companies) shall incur any liability resulting directly or indirectly from accessing any of the attached files which may contain a virus or the like.




More information about the thelist mailing list