Define taxonomy: patterns vs conventions #4
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Definitions
Pattern = prescriptive, reusable solution to a recurring problem. "When you face X, do Y." Language-scoped. Has When-to-Use, When-Not-to-Use, and Why. These are what you follow.
Convention = descriptive reference material showing how a specific project/framework structures things. Study for ideas, don't copy blindly. Applying the wrong framework's conventions to your codebase causes active harm.
Pattern repos (prescriptive — follow these)
elixir-patterns— how to write Elixirgo-patterns— how to write Gorust-patterns— how to write RustConvention repos (reference — study, don't copy)
kubernetes-conventions— system architecture at scalecockroachdb-conventions— distributed system architecturephoenix-conventions— web framework opinions (don't apply to non-Phoenix code)ecto-conventions— data layer opinions (don't apply to non-Ecto code)temporal-conventions— workflow engine patternsFold into language patterns (too thin to be standalone)
oban-conventions→ merge intoelixir-patternsas source citationsprometheus-conventions→ merge intogo-patternsas source citationsDelete or archive (duplicates of patterns repos)
elixir-conventions— merge any unique content intoelixir-patterns, then archivegolang-conventions— merge any unique content intogo-patterns, then archiveKey principle
"Use it for ideas; don't get tempted to do something just because Phoenix does it."
Conventions are a reference to understand why a project made certain choices. Not a template to follow. Your context is different from theirs.
Actions
patterns-vs-guidelinesrepo with this taxonomyCleanup tasks (file as individual issues or handle during free time)
elixir-conventions— extract anything unique intoelixir-patterns, archive the repogolang-conventions— extract anything unique intogo-patterns, archive the repooban-conventionscontent intoelixir-patternsas source citations, archiveprometheus-conventionsintogo-patternsas source citations, archivepatterns-vs-guidelinesrepo — does it still serve a purpose with clear taxonomy?