I suggest you start at least thinking
about the basic skills needed by working developers.
My experience with new graduates at our company is that, despite
having studied "computer science" for a number of years, there are
often gaping holes in their basic, practical software development
technique, such as:
- Always use a revision control system.
- Use a single-step automated build.
- Avoid duplication (DRY).
- Descriptive, explanatory, consistent and regular names.
- Useful commenting and documentation.
- Design the module's interface first.
- Sound domain abstractions.
- Wise program decomposition.
- Encapsulation.
- Highly cohesive, loosely coupled modules.
- Minimize the exposure of implementation details.
- Minimize the scope of variables, pragmas, etc.
- Write components that are testable in isolation.
- Write the test cases before you write the code.
- Add new test cases before you start debugging.
- Establish a rational error handling policy and follow it strictly.
- "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live" (Damian Conway)
Many of these tips were taken from
On Coding Standards and Code Reviews.
Many years ago, I was lucky enough to meet Bjarne Stroustrup.
I remember him telling me that "you can't learn to ride a bicycle by a correspondence course".
That is, becoming a good programmer takes practice, lots of practice.
So you will need to find a little project to develop,
to practice many of the techniques above.
See also code kata.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.