Backend/Back-end Usage Rule

Description

This rule enforces consistent usage of "back end" and "back-end" based on their grammatical function in a sentence, following Microsoft Style Guide conventions. The distinction is important because:

  • "back end" should be used as a noun (e.g., "I work on the back end")
  • "back-end" should be used as an adjective (e.g., "back-end development")

Consistent usage of these terms helps maintain professional documentation and reduces confusion for readers. This is particularly important in technical documentation where precision matters.

Examples

Flags and corrects:

  • ❌ "The backend needs updating" → ✅ "The back end needs updating"
  • ❌ "This is a back end system" → ✅ "This is a back-end system"
  • ❌ "The backend database" → ✅ "The back-end database"
  • ❌ "They develop the backend" → ✅ "They develop the back end"

The rule uses part-of-speech tagging to determine whether the term is being used as a noun or adjective and suggests the appropriate form accordingly.

Rule Source

This rule comes from: https://github.com/mesosphere/dcos-docs-site

Rule Definition

extends: substitution
message: "Use '%s' instead of '%s'."
level: warning
link: https://docs.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/b/back-end
# Use 'back end' (noun) or 'back-end' (adj).
pos: 'back-end/NN|backend/(?:JJ|NN)|back/\w+ end/JJ|back/(?:JJ|RB) end/\w+'
ignorecase: true
action:
  name: replace
swap:
  back-end: back end
  back end: back-end