This document compiles various reference materials relevant to this project, such as coding style guidelines, development workflow steps, terminology, and domain-specific mappings (e.g., FIX 4.2 tags).
This section outlines the coding conventions and documentation standards the team follows.
-
British English for code comments, doc text, and commit messages.
-
Maintain a concise, professional tone. Avoid slang or overly informal expressions.
- Indentation
-
4 spaces, no tabs.
- Line Length
-
Typically 128 characters or fewer if possible.
- Braces
-
-
Open brace on the same line (
if (condition) {). -
Close brace on a new line.
-
- Blank Lines
-
-
One blank line between method definitions.
-
Group related lines logically for readability.
-
- Classes
-
PascalCase (e.g.,
OrderService). - Methods and Variables
-
camelCase (e.g.,
processOrder,userName). - Constants
-
ALL_CAPS_WITH_UNDERSCORES (e.g.,
MAX_BUFFER_SIZE). - Packages
-
all lowercase, possibly with dots (
com.example.myproject).
-
Use Javadoc (
/** … */) for public classes/methods, describing purpose, parameters, return values, and exceptions. -
Avoid excessive inline comments; code should largely speak for itself.
-
Keep commit messages in present tense, referencing issue IDs where relevant.
This project embraces an AI-assisted, documentation-first process known as AIDE (Artificial Intelligence Development Environment).
-
Document Requirements
-
Write or update
.adoccontent reflecting new features or changes. -
This serves as the “single source of truth.”
-
-
Write or Update Tests
-
Create or refine unit, integration, or YAML-based scenario tests, mirroring the documented requirements.
-
-
Write or Update Code
-
Let AI or standard IDE tools generate stubs, boilerplate, or scaffolding based on the docs and tests.
-
Manually refine logic where needed.
-
-
Review
-
AI highlights discrepancies between docs/tests/code. Humans validate correctness.
-
-
Repeat
-
Each change in requirements triggers this loop again, keeping everything in sync.
-
For modules referencing FIX protocol (like the Order Processor), the following table maps relevant fields to standard FIX 4.2 tags. Adjust the table to your actual usage:
| FIX Tag | Field/DTO Property | Description |
|---|---|---|
35=D |
|
Message type for new orders |
11 |
|
Unique client order ID |
54 |
|
Side of the trade ( |
38 |
|
Quantity of the order |
44 |
|
Price for limit orders |
39 |
|
Order status (e.g., |
150 |
|
Execution type (partial fill, fill, canceled) |
… |
(others as needed) |
Expand based on your system’s data |
Below are some advanced or miscellaneous notes not covered elsewhere.
-
Certain
.ador.adocsummaries exist for very large classes or resources that rarely change. -
This practice keeps token usage low for AI processes, while preserving essential context in a succinct form.
-
Typical latencies can reach ~1.5µs (shared memory) or ~20µs (TCP) under load.
-
For more detailed throughput or latency data, see Usage & Tests → Benchmarking.
Refer back to Architecture for design overviews or Usage & Tests for instructions on running modules and tests. By maintaining these references, the project stays coherent and approachable to both new and returning contributors.