Training, Open Source computer languages

PerlPHPPythonMySQLhttpd / TomcatTclRubyJavaC and C++LinuxCSS

Search our site for:
Home Accessibility Courses Diary The Mouth Forum Resources Site Map About Us Contact
Do not duplicate your code
If you've writing or maintaining a program and you find yourself cutting and pasting a chunk of code, STOP and think again.

By duplicating a block of code, you're duplicating your maintainance task from that point onwards - any fixes applied to the original much be applied to the copy too. And that's going to be very inefficient in time as you duplicate the duplicate and end up with a whole shed load of copies. There IS a better way!

Take the code that you would be duplicating, and put it somewhere separate. Give it a name (i.e. make it a named block of code) and call it up by name from both its original location, and from the location that you would have put the copy into. All modern languages support named blocks of code in this way:
• In Perl, they're known as subs which is short for subroutines
• In many other languages, they're known as functions or methods or macros
• In Tcl, they're known as procs which is short for procedures

"But I want to make a couple of changes to the block of code that I was going to duplicate" you might say. That's NOT a problem. The bits that you would change in the duplicated code are the bits that you'll pass in to your sub / function / method / procedure as parameters, and if you also change the variable that the result is going to be put into, that's the immediate clue as to what you'll be returning.

Where you want to share a named block of code between several programs, you can do so too. That's done through commands / calls such as import (Python, Java), source (Tcl), require (Perl, PHP), use (Perl), from (Python) and include (PHP). In C and C++, functions work across programs in a slightly different way - rather than including the reference in the source, you'll bring in prototypes in the source and then the full code in your link loader. But that's a story for another day ...
(written 2006-06-23 07:13:33)

 
Associated topics are indexed under
C204 - C and C based languages - Functions, Macros and programs in multiple files
P209 - Subroutines in Perl
T207 - Tcl/Tk - Procedures and Variable Scope
Y105 - Python - Functions, Modules and Packages
H105 - PHP - Functions

Back to
Bed and Breakfast, or Hotel?
Previous and next
or
Horse's mouth home
Forward to
Naming Rooms

Some other Articles
The fragility of pancakes - and better structures
Weekend in Ireland
On Crosby sands
Naming Rooms
Do not duplicate your code
Bed and Breakfast, or Hotel?
Breaking bread
Training in Liverpool
From cat breeder to Cobol to Perl
Splash!
1638 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33 at 50 posts per page


This is a page archived from The Horse's Mouth at http://www.wellho.net/horse/ - the diary and writings of Graham Ellis. Every attempt was made to provide current information at the time the page was written, but things do move forward in our business - new software releases, price changes, new techniques. Please check back via our main site for current courses, prices, versions, etc - any mention of a price in "The Horse's Mouth" cannot be taken as an offer to supply at that price.

Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).

© WELL HOUSE CONSULTANTS LTD., 2008: Well House Manor • 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • FAX: 01144 1225 707126 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho