Initial commit
This commit is contained in:
@@ -0,0 +1,101 @@
|
||||
# Naming Lexicon
|
||||
|
||||
Use this page as a vocabulary prompt when refining domain names.
|
||||
It is not a source of mandatory terms.
|
||||
Its purpose is to help you replace generic programmer language with more precise domain language.
|
||||
|
||||
## Lifecycle and state
|
||||
|
||||
| Concept | Useful terms | Examples |
|
||||
| :--- | :--- | :--- |
|
||||
| Beginning | `Initiate`, `Register`, `Onboard`, `Provision`, `Draft` | `InitiateTransfer`, `ProvisionServer` |
|
||||
| Middle, active | `Active`, `Pending`, `InFlight`, `Outstanding`, `Live`, `Provisional`, `Tentative` | `OutstandingInvoice`, `ProvisionalBooking` |
|
||||
| Middle, paused | `Suspended`, `Dormant`, `Held`, `Frozen` | `AccountFrozen`, `DormantUser` |
|
||||
| Ending, good | `Complete`, `Fulfill`, `Settle`, `Finalize`, `Resolve` | `SettlePayment`, `FulfillOrder` |
|
||||
| Ending, bad | `Fail`, `Reject`, `Decline`, `Abort`, `Revoke`, `Void`, `Expire` | `VoidTransaction`, `JobFailed` |
|
||||
| Ending, neutral | `Archive`, `Retire`, `Conclude`, `Terminate` | `RetireProduct`, `TerminateSession` |
|
||||
|
||||
## Corrections and changes
|
||||
|
||||
| Concept | Useful terms | Examples |
|
||||
| :--- | :--- | :--- |
|
||||
| Making correct | `Rectify`, `Reconcile`, `Adjust`, `Correct`, `Align` | `ReconcileInventory`, `RectifyBalance` |
|
||||
| Difference | `Variance`, `Discrepancy`, `Delta`, `Offset`, `Deviance` | `InventoryVariance`, `PriceDelta` |
|
||||
| Defect | `Anomaly`, `Irregularity`, `Outlier`, `Malformation` | `DetectAnomaly`, `SignalIrregularity` |
|
||||
|
||||
## Data and collections
|
||||
|
||||
| Concept | Useful terms | Examples |
|
||||
| :--- | :--- | :--- |
|
||||
| Subset | `Cohort`, `Segment`, `Batch`, `Cluster` | `UserCohort`, `ProcessBatch` |
|
||||
| Summary | `Digest`, `Manifest`, `Summary`, `Snapshot` | `ShippingManifest`, `DailyDigest` |
|
||||
| Searching | `Locate`, `Query`, `Scan`, `Inspect`, `Retrieve`, `Fetch`, `Filter`, `Sift` | `LocateParcel`, `RetrieveRecords` |
|
||||
| Assigning | `Allocate`, `Assign`, `Designate`, `Map` | `AllocateResources`, `DesignateOwner` |
|
||||
| Communication | `Notify`, `Alert`, `Dispatch`, `Broadcast`, `Deliver` | `DispatchEmail`, `BroadcastEvent` |
|
||||
|
||||
## Verification and security
|
||||
|
||||
| Concept | Useful terms | Examples |
|
||||
| :--- | :--- | :--- |
|
||||
| Checking | `Validate`, `Verify`, `Authenticate`, `Authorize`, `Audit` | `AuthorizePayment`, `AuditLog` |
|
||||
| Allowing | `Grant`, `Permit`, `Enable`, `Whitelist` | `GrantPermission`, `WhitelistIP` |
|
||||
| Blocking | `Deny`, `Restrict`, `Revoke`, `Ban`, `Blacklist` | `DenyEntry`, `RevokeCertificate` |
|
||||
| Subjects | `Actor`, `Principal`, `Subject`, `Resource` | `RequestActor`, `TargetResource` |
|
||||
|
||||
## Time and scheduling
|
||||
|
||||
| Concept | Useful terms | Examples |
|
||||
| :--- | :--- | :--- |
|
||||
| Delaying | `Defer`, `Postpone`, `Reschedule`, `Queue` | `DeferExecution`, `PostponeMeeting` |
|
||||
| Recurring | `Interval`, `Cadence`, `Frequency`, `Period` | `BillingCadence`, `RefreshInterval` |
|
||||
| Deadlines | `Deadline`, `Cutoff`, `Expiry`, `Threshold` | `SubmissionCutoff`, `ExpiryDate` |
|
||||
|
||||
## Financial and transactional
|
||||
|
||||
| Concept | Useful terms | Examples |
|
||||
| :--- | :--- | :--- |
|
||||
| Moving money | `Transfer`, `Remit`, `Disburse`, `Deposit`, `Withdraw` | `DisburseFunds`, `RemitTax` |
|
||||
| Allocating | `Earmark`, `Reserve`, `Allocate`, `Encumber` | `EarmarkFunds`, `EncumberBudget` |
|
||||
| Undoing | `Revert`, `Rollback`, `Compensate`, `Refund` | `CompensateTransaction` |
|
||||
|
||||
## Boundary, intent, and capability prompts
|
||||
|
||||
| Concept | Useful terms | Examples |
|
||||
| :--- | :--- | :--- |
|
||||
| Caller intent | `GetNextTask`, `CompleteTask`, `PlanProgress`, `AdvanceProgress`, `AssignWork` | `getNextTask`, `completeTask`, `advanceStudentProgress` |
|
||||
| Capability and authority | `Read`, `Write`, `Plan`, `Authorize`, `Approve`, `Administer` | `ReadCurriculum`, `WriteCurriculum`, `ApproveEnrollment` |
|
||||
| Boundary meaning | `Projection`, `Snapshot`, `Decision`, `Eligibility`, `Assignment`, `Progress` | `CurriculumSnapshot`, `EnrollmentDecision`, `TaskAssignment` |
|
||||
| Implementation-shaped names to question | `LessonRecord`, `Manager`, `Handler`, `Processor`, `Data`, `Info` | `LessonManager`, `StudentInfo`, `TaskProcessor` |
|
||||
|
||||
## Compare alternatives before settling on a name
|
||||
|
||||
| Naming pressure test | Alternative 1 | Alternative 2 | Alternative 3 |
|
||||
| :--- | :--- | :--- | :--- |
|
||||
| Progression unit | `nextLesson` | `nextAssignableUnit` | `getNextTask` |
|
||||
| Completion action | `markLessonComplete` | `closeProgressUnit` | `completeTask` |
|
||||
| Sequencing module | `lessonSequencing` | `progressUnitPlanner` | `advanceStudentProgress` |
|
||||
|
||||
Use these comparisons to expose hidden assumptions:
|
||||
|
||||
- does the name lock the model to one current concept?
|
||||
- does it express caller intent or internal structure?
|
||||
- is it naming a capability boundary or only an implementation detail?
|
||||
|
||||
## Bounded seam prompts
|
||||
|
||||
| Seam concern | Useful terms | Examples |
|
||||
| :--- | :--- | :--- |
|
||||
| Reviewable contract | `Decision`, `Command`, `Event`, `Assignment`, `Plan`, `Result` | `PlacementDecision`, `AssignTask`, `TaskPlanned` |
|
||||
| Protected invariant | `Eligible`, `Authorized`, `Assignable`, `Settled`, `Balanced` | `EligibleStudent`, `AssignableTask` |
|
||||
| Black-box boundary | `Service`, `Workflow`, `Policy`, `Gateway`, `Repository` | `StudentProgressWorkflow`, `AuthorizationPolicy` |
|
||||
|
||||
At a bounded seam, prefer names that tell the reviewer:
|
||||
|
||||
- what the caller is trying to achieve
|
||||
- what authority is being exercised
|
||||
- what invariant or decision the boundary protects
|
||||
|
||||
## Reminder
|
||||
|
||||
Prefer domain language from the real problem space over any generic lexicon.
|
||||
This page is a prompt, not a substitute for talking to a domain expert.
|
||||
Reference in New Issue
Block a user