The views expressed in this course represent the views of Anne Deslattes Mays, PhD and do not represent the views of NICHD, NIH or the United States Government.
In what follows - is my development of a practice that enables workflow and platform independence facilitating repurposability.
Elements of Programming Style B. W. Kernighan and P. J. Plauger, The Elements of Programming Style 2nd Edition, McGraw Hill, New York, 1978. ISBN 0-07-034207-5
The year was 1919, the first World War was at its close and a student, E. B. White, took a course, English 8, taught by William Strunk Jr. The course featured a required textbook, a slim volume called The Elements of Style. The durability of this slim book informed the development of the book, The Elements of Programming Style by Kernigan and Plauger, whose lessons we adapt here in this course. Showing again the durability of the approach of beginning with philosophy as one approaches their work and use of programs and structure to achieve their work.
So with this nod to E.B. White, William Strunk, Jr, Brian Kernigan and Plauger, we begin with our own Lessons and Pithy Phrases.
What is a Pithy Phrase: A pithy phrase or statement is brief but full of substance and meaning
Top 10 Lessons
Number | Lesson | Relates Too | Full Lessons Number |
---|---|---|---|
1. | Write clearly – don't be too clever. | Everything | 1. |
2. | Write first in easy-to-understand pseudo language; then translate into whatever language you have to use. | Everything | 13. |
3. | Modularize. Use procedures and functions. | Containerizing with Dockerfile | 14. |
4. | Write and test a big program in small pieces. | Containerizing with Dockerfile, GitHub Actions to test and deposit upon every change to Dockerfile | 17. |
5. | Test input for plausibility and validity. | GitHub Actions to test each step in a workflow allows input testing | 19. |
6. | Use debugging compilers. | Use GitHub Actions for Syntax Checking. Use platform as a service, pull straight from version in GitHub and our Compiler is the Use of Workflows | 29. |
7. | Make it right before you make it faster. | Everything | 30. |
8. | Make sure special cases are truly special. | Everythng | 35. |
9. | Keep it simple to make it faster. | Everything | 36. |
10. | Document your data layouts. | Everything | 45. |