26 lines
1005 B
Markdown
26 lines
1005 B
Markdown
# Synthea Development Guidelines
|
|
|
|
## Build & Test Commands
|
|
- Build: `./gradlew build`
|
|
- Run: `./run_synthea` or `./gradlew run -Params="['arg1', 'arg2']"`
|
|
- Clean: `./gradlew cleanOutput`
|
|
- Full test: `./gradlew test`
|
|
- Single test: `./gradlew test --tests "org.mitre.synthea.TestClassName"`
|
|
- Test coverage: `./gradlew jacocoTestReport`
|
|
- Style check: `./gradlew checkstyleMain`
|
|
- Create JAR: `./gradlew shadowJar`
|
|
- Generate module visualizations: `./gradlew graphviz`
|
|
|
|
## Code Style
|
|
- Google Java Style (follows checkstyle.xml)
|
|
- Indentation: 2 spaces, no tabs
|
|
- Line length: max 100 characters
|
|
- Package naming: lowercase with dots (e.g., `org.mitre.synthea`)
|
|
- Class naming: CamelCase (e.g., `PatientGenerator`)
|
|
- Method naming: camelCase (e.g., `generatePatient`)
|
|
- Variable naming: camelCase (first char lowercase)
|
|
- Avoid star imports
|
|
- Braces required for all control structures
|
|
- One statement per line
|
|
- Empty catch blocks must name exception as "expected"
|
|
- Javadoc required for public methods |