These are the set of standards that I have made my self as guidelines on how I should go about in developing anything software related to maintain a consistent style to ease reading for my future self. I figured all of this out from my years of experience programming in many languages and frameworks. I have all of this already etched in my brain and I just decided to write something so other developers can understand why I do what I did.
- Personal Necessity
- Group Standards (Teams)
- Organizational Standards (Company/Community)
- Language Conventions
- Personal Wants
- Overall Software Conventions
Significant changes that will require user/dev intervention. This includes removing a thing from a game which, though small, still requires attention from the user to accomodate such change. It would be best to package all removals and overhauls to a single update.
Changes that may add small to moderate changes that does not alter how users use the application.
Just bug fixes or anything that doesn't change anything that the user sees.
A thing that needs to be done before a significant release
A thing that needs to be paid attention to. These can be things that might cause issues in the future.
The usual comments. Mostly small explainers to what and/or why.
4 spaces by default for indentation.
2 spaces for json, html, and files that require heavy nesting.
// TODO: Explain the amount of whitespace between code blocks and functions
- Every file and code must all link back to the entry point in some way. If impossible, use comments.
resLoc(string)static function as a shorthand forResourceLocation.fromNamespaceAndPath(yada, yada, yada)MOD_IDfor the mod id static variable- Add changelog.txt for each project, following the Factorio changelog formatting standards.
- Or maybe keepachangelog.com standard.
- use build.gradle.kts // Requires learning, low priority
- variables and functions are public by default. for cases when another dev decides to interface with the mod.
// TODO: Add everything else later after figuring out better ways to explain it.