Main Content
We not only teach PHP and Python - we teach good PHP and Python Practice! Archive - Originally posted on "The Horse's Mouth" - 2013-06-18 10:23:15 - Graham Ellis
This week, I'm running a private PHP course in North London , and a private Python course in Bristol ... and it's confirmed and re-confirmed the need for programming standards to be included from the beginning just as much as the mechanisms of the language. I'm not only teaching people how to write applications and parts thereof, but also good applications ... and that means:
• Code which is easy to use
• Code which is fit for purpose
• Code which can be reused within other similar applications
• Code which is easy to alter if necessary
• Code which is robust and reliable
• Code which is well tested, and easy to retest when amended
• Code which is well documented - for the user and for the follow-up programmer
• Code which runs fast enough
• Code which is efficient in programmer's time as it is written
• Code which is as portable as necessary
• Code for which support and maintenace skills will be available
• Code which is secure
Those are headlines ... I could write chapter and verse on each of them and they are all important. In fact the mechanisms of the particular language chosen should be subservient to providing something which meets these needs. There could be a complete course in the techniques needed, and how you may apply them in each language - and it's no mistake that I will always introduce comments in the first chapter of notes, and I will talk about good variable naming conventions early on. That's just for starters - design, test driven dvelopment, writing re-usable modules, UML, spltting code into named blocks, exceptions, version control and more issues will crop up all through your course.
Some other articles
Y116 - Applying OO design techniques and best practise Defining an object that is a modified standard type in Python How to avoid too many recalculations within an object This article Really Simple Class and Inheritance example in Python Inheritance, Composition and Associated objects - when to use which - Python example Tips for writing a test program (Ruby / Python / Java) Plan your application before you start How do I set up a constant in Python? Testing code in Python - doctest, unittest and others Alpaca Case or Camel Case Good Programming practise - where to initialise variables Code quality counts Build on what you already have with OO Python - block insets help with documentation Think about your design even if you don't use full UML Code and code maintainance efficiency Y101 - Introduction to Python Progress on moving from Python 2 to Python 3 - training for both versions Python - an interesting application This article Python in an afternoon - a lecture for experienced programmers Python v Ruby Python and the Magic Roundabout Sludge off the mountain, and Python and PHP Python is like a narrowboat Is Perl being replaced by PHP and Python? Python makes University Challenge Python 3000 - the next generation Python modules. The distribution, The Cheese Shop and the Vaults of Parnassus. Why reinvent the wheel Linux training Glasgow, Python programming course Dundee Choosing the right language Database or Progamming - which to learn first? Central London Courses - Perl, PHP, Python, Tcl, MySQL Bridging to the customer requirement Programming languages - a comparison Q101 - Programming Principles What are callbacks? Why use them? An example in Python Remember to ask the question before you listen for the answer Hungarian, Camel, Snake and Kebab - variable naming conventions Learning to program - what are algorithms and design patterns? Writing the perfect program in Tcl? Rooms available tonight - how to code an algorithm from first principles This article Test Driven Development in Python - Customer Comes First Seamless, integrated IT - we have a long way to go! Web and console - same principle, same code - Ruby example Lesson 1 in programing - write clean, reuseable and maintainable tidy code Storing your intermediate data - what format should you you choose? From Structured to Object Oriented Programming. Object oriented or structured - a comparison in Python. Also writing clean regular expressions Some terms used in programming (Biased towards Python) Dark mornings, dog update, and Python and Lua courses before Christmas What order are operations performed in, in a Perl expression? Stepping stones - early coding, and writing re-usable code quickly Coding efficiency - do not repeat yourself! An introduction to file handling in programs - buffering, standard in and out, and file handles Looking up a value by key - associative arrays / Hashes / Dictionaries Program for reliability and efficiency - do not duplicate, but rather share and re-use Easy - but for whom? Improving your function calls (APIs) - General and PHP And and Or illustrated by locks Do not copy and paste code - there are much better ways The music of the stock market Variable names like i and j - why? Planning! Learning to write high quality code in Lua Where do I start when writing a program? Pre and post increment - the ++ operator I have not programmed before, and need to learn H115 - Designing PHP-Based Solutions: Best Practice Real life PHP application using our course training MVC example Using an MVC structure - even without a formal framework Learning to program - comments, documentation and test code This article Even early on, separate out your program from your HTML! Filtering PHP form inputs - three ways, but which should you use? PHP sessions - a best practice teaching example Injection Attacks - PHP, SQL, HTML, Javascript - and how to neutralise them Separating program and artwork in PHP - easier maintainance, and better for the user How to build a test harness into your PHP Not just a PHP program - a good web application Adding a newsfeed for your users to a multipage PHP application Improving the structure of your early PHP programs Refactoring - a PHP demo becomes a production page Defensive coding techniques in PHP? PHP Techniques - a workshop Short and sweet and sticky - PHP form input Software to record day to day events and keep an action list Efficient PHP applications - framework and example A story about benchmarking PHP Ordnance Survey Grid Reference to Latitude / Longitude Converting from postal address to latitude / longitude Controlling and labelling Google maps via PHP Using a MySQL database to control mod_rewrite via PHP Easy handling of errors in PHP Resetting session based tests in PHP Drawing hands on a clock face - PHP Painting a masterpiece in PHP Good Programming practise - where to initialise variables Back button - ensuring order are not submitted twice (PHP) Learning to write secure, maintainable PHP Maintainable code - some positive advice Code quality counts Global, Superglobal, Session variables - scope and persistance in PHP PHP - good coding practise and sticky radio buttons Reporting on the 10 largest files or 10 top scores Giving the researcher power over database analysis Merging pictures using PHP and GD Robust checking of data entered by users A year on - should we offer certified PHP courses Code and code maintainance efficiency Putting a form online Crossfertilisation, PHP to Python Short underground journeys and a PHP book H101 - Introduction to PHP The power of scripting This article Learning to Program ... in PHP. Course examples. PHP Course - for hobby / club / charity users. PHP - Parse error: syntax error, unexpected $end ... Perl v PHP, choosing the right language Q - Should I use Perl or Python? From Web to Web 2 The HTML++ Metalanguage Sludge off the mountain, and Python and PHP The LAMP Cookbook - Linux, Apache, MySQL, PHP / Perl Syntax checking in PHP Is Perl being replaced by PHP and Python? Remember a site's non-technical issues too Hot answers in PHP Why reinvent the wheel Testing you Perl / PHP / MySQL / Tcl knowledge PHP - London course, Melksham Course, Evening course Choosing the right language It's REALLY easy to add a little PHP Learning to program in Perl or PHP FTP - how to make the right transfers Central London Courses - Perl, PHP, Python, Tcl, MySQL Bridging to the customer requirement Happy Birthday, PHP Programming languages - a comparison Too many Perls Portrait of the author PHP v Java Case Sensitive? Evening classes to learn PHP PHP - onwards and upwards