Skip to content

Instantly share code, notes, and snippets.

@rekales
Last active October 17, 2025 11:28
Show Gist options
  • Select an option

  • Save rekales/26b8c8f2c7a42253aa1b2d850c93ea19 to your computer and use it in GitHub Desktop.

Select an option

Save rekales/26b8c8f2c7a42253aa1b2d850c93ea19 to your computer and use it in GitHub Desktop.
Krei Development Standards

Krei Development Standards

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.

Convention Priorities

  1. Personal Necessity
  2. Group Standards (Teams)
  3. Organizational Standards (Company/Community)
  4. Language Conventions
  5. Personal Wants
  6. Overall Software Conventions

Versioning

[Major.Minor.Patch]

Major

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.

Minor

Changes that may add small to moderate changes that does not alter how users use the application.

Patch

Just bug fixes or anything that doesn't change anything that the user sees.

Commenting

// TODO: comment

A thing that needs to be done before a significant release

// NOTE: comment

A thing that needs to be paid attention to. These can be things that might cause issues in the future.

// comment

The usual comments. Mostly small explainers to what and/or why.

Whitespaces and Tabs

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

Minecraft Modding // TODO: implement throughout all handled mods

  • 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 for ResourceLocation.fromNamespaceAndPath(yada, yada, yada)
  • MOD_ID for 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.

Web Dev


// TODO: Add everything else later after figuring out better ways to explain it.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment