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/Shop

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. The grade is used in a company. It may be based on the industry standard and tweaked or be a whole new thing. It is accompanied by a rem mark that tells you where the shop grade can be found. eg.

//#! Declaration: http://osplusplus.org/2022standard/Shop
//
// Shop standard - http://YOUR_INTRANET.com/shop_standard_20220726

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 Shop Grade

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


The Shop grade

TLDR; This is a standard that is used in a company. It may be based on the industry standard and tweeked or be a whole new thing.

//#! Declaration: http://osplusplus.org/2022standard/Shop
//
// Shop standard - http://YOUR_INTRANET.com/shop_standard_20220726

This is the standard you want to see when joining a new company. It will explain the patterns that are used and how to integrate with your new team at the new shop or company. This should allow you to better fit in and draw as little attention to yourself as possible, while becoming a productive member.

General use

When you declare this, please add a //rem, that advises readers of the standard and where it’s definition can be found. eg.

// shop standard - http://YOUR_INTRANET.com/shop_standard_20220726

It will be tempting to add this to the versioning repository code base, but I advise adding it to your local internal intranet along with a _YYYY_MM_DD ending. That way, as the standards change you will have a good idea what was going on with a simple click of the link. Old standards, on old code bases as just as important as the latest, as old code is brought up to date. This reduces “friction” as the standard is only a click away and does not have to be dug out of the version control system. This makes it much more likely that the standard will actually be followed.

How this should be used

  1. Standards change. New patterns emerge. The world keeps turning. You will probably need to evolve the code standard. No one wants refactoring as a cost item. Where is the business benefit? And if there is none, how can it be justified? So it needs to be done “under the cover” outside of the businesses direct control, it’s an evolutionary process. An old block of code needs a new feature. You see the old standard declaration in the old code, you will instantly know the work load you are being faced with to refactor it. Real business benefits with a low, pay as you go cost.

  2. A 20 year old something joins the company and wants to reinvent the wheel. They start adding a library/pattern that has not been agreed upon in development. The latest and totally flawed, hot new technology. Slowly they infect the code base with their latest pattern which is totally incompatible with the well reasoned and thought out code base. As lead developer you send them a “please explain”. Did you not read the company standard? It’s declared on every piece of code. If you want to work on a new standard, there is a working meeting at 4pm on Friday. Bring pizza.


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