Design and Style Philosophies
Website
- All content accessible within maximum of 2 link clicks
- All links should be obvious where they go to
- I like monospace fonts. I use them for reading.
- Almost all textual content in a website should render in a terminal browser or screen reader
- Websites are for serving textual documents, and shouldn't be doing client-side scripting with Javascript.
- I dislike comments. They serve ego and are commonly rude and add little value. Go to social media if you want that.
Casing style
- I don't follow idiomatic style or language style guides for projects that I own(For projects belonging to others that I contribute, I follow them)
- PascalCase for class names
- Upper case for enum values
- lower case for the enum
- camelCase for member variables, dictionary keys or local variables
- member variables are prefixed with m_ in C-Style programming languages
- White space is used for clarity. The use is so long as it compiles and it is clear
- Paranthesises have a space before the keyword, but none for functions. I.E. printf() vs if (boolean)
- Curly braces are not on a new line
- Clarity is most important. All rules above can and will be ignored if it allows for clarity
Programming style
- Effective use of procedures, data structures and functions
- I dislike OOP. That's not to say I won't use it, it provides useful functionalities but the complexity multiplies with inheritence
- Composition of the problem is the best solution usually. A shell script is decomposed into multiple programs with pipes.
- Functions are useful, but for code that requires state procedures are also useful.
Video style
- Keep it brief, don't waste time
- Provide subtitles if possible. Understandable if none provided
- Your font should be readable and high contrast. Readable fonts help
Documentation
- Provide examples and example usecases
- Describe in detail all parameters/flags(Man pages/java docs or equivalents)
- Describe in detail output range. Usually relevant to functions or standalone programs.
- Link to related and similar things
=> ..