Home
Home
Map
Map
Download
OS++
Down
Load
Doco A
Doco_A
Videos
Youtube
Chat
Chat
News
News
Shop
Shop

//#! Declaration: http://osplusplus.org/2022standard/Technical_deficit

TLDR; The top line, is a standard declaration using the format (CODE.org/STANDARD/GRADE). You are using this declaration to notify future readers that the following code is written in OS++, with the 2022 syntax standard. This is the declaration you use when you need to fix something, to meet a deadline. It means we will come back and fix this properly later.

The declaration just happens to be an HTML link, which has more information.

Format What it means Notes
CODE.org Is the code language type OS++
STANDARD Is the year of the standard 2022
GRADE Means the code grade or quality Requires attention

For a list of standard declarations and a better explanation. Please visit http://osplusplus.org/2022standard/professional
To see the Language documentation for this language. Please visit http://osplusplus.org/2022doco


Technical_deficit standards and grades

TLDR; Technical_deficit, Declaring cancer

If you make this declaration, it is important to outline the nature of the technical deficit so it can be corrected, if need be, later. A quick REM at the top of the code is sufficient. After all you are the expert in this area and you need to alert other stake holder as to the nature of the situation. It is important to document which category the technical deficit falls into. For example Technical_deficit/ Category 3. Other info that is helpful would be the authorising party (usually project manager) and the time frame for its correction.

This procedure allows a professional programmer, who knows they are “turd polishing” (*1), to vent and warn future programmers and stake holders that they were only doing as directed by the business. Or by some other constraint. (Such as time, money, or interest)

What is this?

Technical_deficit is where procedures / standard are not maintained for a “reason”. The reason usually is due to time constraints and the need to meet deadlines.

There are three categories of Technical_deficit.

  1. Benign technical deficit. It’s bad but it does not grow and will eventually be rewritten anyway. Example include the odd goto or block of code which has not been properly documented. Variable names which offer no explanation. eg “NOT_again” or “Baddog2” is not a helpful variable name. (Resource overhead is minimal or non existent)

  2. Malignant technical deficit. A breach of the rules that extracts a ongoing human or resource cost. Example: Too many gotos creating an unreadable mess of spaghetti code and therefore requires each generation of programmer who comes into contact with the project, to spend time picking apart the project to see how it ticks. (Resource overhead is constant but not growing)

  3. Interest bearing Technical_deficit. A breach of the rules that gets progressively worse as time goes on. The Pain of fixing it is slightly more than the ongoing issue and so it just builds. Eg Recyling unused columns in a database with the wrong name and data type. eg “Postcode2” char20, is reused to store “new_feature” big int. Each generation of programmers has an overhead of learning this “quirk” and converting the data type back and forth slowly infects the code, as more features are added that use the column. As the database grows the time it would take to correct the issue becomes longer and more complex. And the business rational to make the changes in the code and database become progressively more expensive and therefore harder to justify. (Resource overhead is expanding exponentially)

(*1) Turd polishing. This is where a programmer takes an absolute turd of a program in a code base and fixes issues and adds features. IE the programmer polishes it. But no matter how skilful the programmer. The code is still a turd.


Site summary (added to bottom of every page)

Web links    
 The_Download = UNIX - The_Download - OS++ Framework
 The_Download = Windows - The_Download - OS++ Framework
 Front_door = OSplusplus.org
 2022standard = OSplusplus.org/2022standard
 Grade EG = OSplusplus.org/2022standard/Professional
 Doco = OSplusplus.org/2022doco/
 Terms & datatypes = OSplusplus.org/2022term/
  =  
 Youtube Channel = https://www.youtube.com/channel/UC5GqhceNMLX4iDNClEWT0Fg
Code map    (Download page)
 Examples = /Example_lucky_dice_succinct_v2_0_0.scad
 Templates (Use this) = /Template_minimal_v1_2_0.scad
 Templates (too long) = /Template_verbose_v1_1_0.scad
 Project_template (Use this) = /project_template
 Libs root = /z_lib/
 3rd party code = /z_lib/addon
 Cuboid = /z_lib/lib_cuboid
 Cones = /z_lib/lib_cone
 Spheres = /z_lib/lib_sphere
 Cone Maths = /z_lib/L0_cone
 Cone Math/Cyl = /z_lib/L0_cone/z_ref_Cyl
 Libs_unit_test = In directories above
   
Hard_code_learning (Play/Learn by example)
  Download 2022standard, Uncompress, untar.
  Open Openscad (AppImage 2021.01-x86_64).
  Load Learn_Hard1A_v1_0_0.scad
  Press F6. Nothing happens.
  unRem block, Press F6 and render.
  See code example come to life.
  Change parms. Destroy code. Reload. Repeat.
Procedure for use
  Download 2022standard,uncompress,untar.
  Delete all files in root except template
  Copy template to new file name
  Edit new filename
   
Author
 Stephen George
 3rd March 2023
Contribute (LOL)    
 Buy me a coffee =
 Talk to me = Sure! Buy me a coffee. I think there is a message feature on the coffee site.
 Bugs & Finance = TBA
 RFC = TBA