Home Accessibility Courses Twitter The Mouth Facebook Resources Site Map About Us Contact
 
For 2023 (and 2024 ...) - we are now fully retired from IT training.
We have made many, many friends over 25 years of teaching about Python, Tcl, Perl, PHP, Lua, Java, C and C++ - and MySQL, Linux and Solaris/SunOS too. Our training notes are now very much out of date, but due to upward compatability most of our examples remain operational and even relevant ad you are welcome to make us if them "as seen" and at your own risk.

Lisa and I (Graham) now live in what was our training centre in Melksham - happy to meet with former delegates here - but do check ahead before coming round. We are far from inactive - rather, enjoying the times that we are retired but still healthy enough in mind and body to be active!

I am also active in many other area and still look after a lot of web sites - you can find an index ((here))
Looking for a practical standards course

I'm a great believer in coding standards. In well commented code. In a good choice of variable names, of code re-use, and of thinking before you write. There are points which I stress on every course, even if the majority of the time I spend is on the actual language. So I should not have been surprised to have been asked if I could provide a "Good Practice Course" along the lines of the specification below.

I applaud the customer who has asked, I think it will be very worthwhile for them ... BUT I myself don't have the training / knowledge of the formal skills and more academic issues (nor course notes) to deliver, and I have "no bid". I'm very happy to overview / spend a day on these topics. But not a week. Which brought the question "do you know anyone who CAN help?". I know this gets read / found - please get in touch (graham@wellho.net) if you can help - I'll pass on your details and let you talk direct.

Source Code Control
Distributed Version Control (DVC)
[Setup, users, locks, branches, logs, merges]

Testing
TATFT (Test All The $&?#+[\] Time)
BDD/TDD (Behaviour Driven Development / Test Driven Deveopment)
Unit tests
Continuous Integration
Naming conventions
[variables, functions, filenames]
Code Inspections

Design
Unified Modelling Language (UML)
Design Patterns
[Factory, Memoization, Facade, Singleton, Strategy]
MVC (Model, View, Controller)

Documentation
Design documents

Code Structure
DRY principle (Don't repeat yourself)
Code smells
WTF/s
Demeter's Laws

Running Well
Serviceability and efficiency
Analysis of Algorithms
[IO bound, Memory bound, Performance analyisis]

Code to handle code
Metaprogramming
2nd order functions
Continuations
Convention over configuration
DSL (Domain Specific Languages)

I would personally add the following to a genaral programming techniques course:

User support and user documentation. Team communications and co-ordination. WIBNIF (Wouldn't it be nice if). Extreme and pair programming. Library design and maintenance. Backup and contingency. Requirement specification and portability. Security of code - legal and abuse prevention. Inherently stable code. Algorithm design.

Final note - the examples illustrating this course should be in an appropriate Open Source language - I am happy to talk with anyone who's interested in delivering the course about where it would be (long way from Melksham) when it's needed (very soon!) and which language it's in.
(written 2009-08-05)

 
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
Q908 - Object Orientation and General technical topics - Object Orientation: Design Patterns
  [485] North, Norther and Northest - PHP 5 Objects - (2005-11-04)
  [1224] Object Relation Mapping (ORM) - (2007-06-09)
  [2741] What is a factory? - (2010-04-26)
  [2977] What is a factory method and why use one? - Example in Ruby - (2010-09-30)
  [3608] Design Patterns - what are they? Why use them? - (2012-02-12)
  [3716] Learning C++ - a design pattern for your first class - (2012-05-02)
  [3810] Reading files, and using factories to create vectors of objects from the data in C++ - (2012-07-21)
  [3843] Caching Design Patterns - (2012-08-20)
  [4021] Spike solution, refactored and reusable, Python - Example - (2013-02-28)
  [4096] Perl design patterns example - (2013-05-20)
  [4098] Using object orientation for non-physical objects - (2013-05-22)
  [4325] Learning to program - what are algorithms and design patterns? - (2014-11-22)
  [4330] Java - factory method, encapsulation, hashmap example - (2014-11-27)
  [4356] Object factories in C++, Python, PHP and Perl - (2014-12-19)
  [4359] How to avoid too many recalculations within an object - (2014-12-21)
  [4377] Designing a base class and subclasses, and their extension, in C++ - (2015-01-01)
  [4396] Java Utility class - flexible replacement for array. Also cacheing in objects and multiple catch clauses example. - (2015-01-16)
  [4421] How healthy are the stars of stage and screen? - (2015-02-09)
  [4581] Thin application, thick objects - keep you main code simple. Example in Ruby - (2015-11-21)
  [4626] Singleton design pattern - examples and uses - (2016-01-20)
  [4663] Easy data to object mapping (csv and Python) - (2016-03-24)
  [4673] Separating detailed data code from the main application - Ruby example - (2016-05-16)

Q050 - Object Orientation and General technical topics - General Technical Subjects
  [462] Big number - (2005-10-12)
  [2099] Should I maintain the programming code on my own website? - (2009-03-23)
  [2568] Forums for your Melksham and open source discussions - (2010-01-09)
  [2800] The Merchants And - (2010-06-09)
  [3112] Public and private courses - subjects available for 2011 - (2010-12-29)
  [3213] Should I use Open Source or Commercial software? - (2011-03-26)

G906 - Well House Consultants - Programming Standards
  [148] Programming in isolation - (2004-12-11)
  [272] More to programming than just programming - (2005-04-08)
  [343] Should I use structured or object oriented? - (2005-06-10)
  [356] Sudoku helper or sudoku cheat - (2005-06-23)
  [945] Code quality counts - (2006-11-26)
  [1596] Selling curry to the chinese takeaway - (2008-03-31)
  [1679] PHP - Sanitised application principles for security and useability - (2008-06-16)
  [1852] Perl and Blackberries - (2008-10-23)
  [2363] Alpaca Case or Camel Case - (2009-08-16)
  [2364] Getting it right from the start - new programmers - (2009-08-17)
  [3685] Programming Standards in Lua - (2012-04-06)


Back to
Uploading and Downloading files - changing names (Perl and PHP)
Previous and next
or
Horse's mouth home
Forward to
Java Collection Objects in the java.util package
Some other Articles
Learn a new programming language this summer.
Apache, Tomcat, mod_proxy
What search terms FAIL to bring visitors to our site, when they should?
Java Collection Objects in the java.util package
Looking for a practical standards course
Uploading and Downloading files - changing names (Perl and PHP)
Helping new arrivals find out about source code examples
Graphics in Lua - an example using the gd library
For Lua Programmers AND for Town Planners
How to make a Risotto (PHP build style)
4759 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, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96 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).

You can Add a comment or ranking to this page

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

PAGE: http://www.wellho.net/mouth/2322_.html • PAGE BUILT: Sun Oct 11 16:07:41 2020 • BUILD SYSTEM: JelliaJamb