Skip to content

Improve script structure #412

@htcfreek

Description

@htcfreek

Move general code for better structure

  • Move FileInstall into _ResourceHelper.au3
  • Create _OtherHelpers.au3 for various small functions
    • Move _INIUnicode($sINI)
    • Move _Translate($iMUI, $sString)
    • Move all other small functions like the one before.
  • Move command line processing into _CommandLineHelper.au3
  • Combine related functions (example: HighContrast + LightTheme => GetColorTheme)

Checks

  • Create a function for every check and place it in _Checks.au3
    • Use this functions for GUI and command line

Gui code

  • Move Gui including into #699
    • Move all Gui related functions including GDI+ function (_GDIPlus_GraphicsGetDPIRatio)
  • Add new function _UpdateScanResult($iScanResultIndex, $iState, $sResultText, $sResultInfo) => $iState = Question, Warning, Okay, Error

Comments and structure

  • Add a comment to each function like this:
; Description: Function does ...
; Input: param1 = ...; param2 = ...
; Output: ....
; On error: ....
  • Structure code by adding comment structure (Not only this region thing, which isn't supported by every editor.):
; ========= Init global vars ====
(...)

;  ======== Includes ========
; AutoIT-UDFs
(...)

; Internal Includes
(...)

; ========= Init Gui =========
(...)

; ========== Begin Checks ===============
; Checking CPU
(...)

; Checking GPT
(...)
  • Improve script order (Main part):
  1. Global vars
  2. Includes
  3. Options
  4. Check OS
  5. Init Gui part or command line part
  6. run checks for command line or gui

Folder/file structure

  • Align naming: All upper case or all lower case.
  • Move source code (*.au3, include, lang, assets) into folder /src.
  • Fix include commands
  • Fix Wrapper_Add_Icon commands path.

@rcmaehl
This would help other contributors to fast understanding the code.
I would do it. But this makes no sense because this is inkompatibel to other commits.

Metadata

Metadata

Assignees

Labels

documentationImprovements or additions to documentationenhancementNew feature or requestin-progressAccepted, at least some code is implemented or pending push

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions