mirror of
https://github.com/azaion/gps-denied-desktop.git
synced 2026-04-22 22:06:36 +00:00
name components correctly
update tutorial with 3. implementation phase add implementation commands
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
# Analyze implementation order
|
||||
|
||||
## The problem description
|
||||
`@docs/00_problem/problem_description.md`.
|
||||
|
||||
## Data samples
|
||||
Located here: `@docs/00_problem/input_data`. They are for reference only, yet it is an example of the real data.
|
||||
|
||||
## Restrictions for the input data
|
||||
`@docs/00_problem/restrictions.md`.
|
||||
|
||||
## Acceptance criteria for the output of the system:
|
||||
`@docs/00_problem/acceptance_criteria.md`.
|
||||
|
||||
## Existing solution spec:
|
||||
`@docs/01_solution/solution.md`
|
||||
|
||||
## Components with Features specs
|
||||
`@docs/02_components`
|
||||
|
||||
## Role
|
||||
You are a professional software architect and developer
|
||||
|
||||
## Task
|
||||
- Read carefully all the component specs and features in the components folder: `@docs/02_components`
|
||||
- Investgate in internet what are the best way and tools to implement component and its features
|
||||
- Create initial structure:
|
||||
- DTOs
|
||||
- component's interfaces
|
||||
- empty implementations
|
||||
- helpers - empty implementations or interfaces
|
||||
|
||||
## Notes
|
||||
- Follow SOLID principles
|
||||
- Follow KISS principle. Dumb code - smart data.
|
||||
- Follow DRY principles, but do not overcomplicate things, if code repeats sometimes, it is ok if that would be simpler
|
||||
- Follow conventions and rules of the project's programming language
|
||||
- Ask as many questions as needed, everything should be clear how to implement each feature
|
||||
@@ -0,0 +1,41 @@
|
||||
# Implement component and features by spec
|
||||
|
||||
## Input parameter
|
||||
component_folder
|
||||
|
||||
## The problem description
|
||||
`@docs/00_problem/problem_description.md`.
|
||||
|
||||
## Data samples
|
||||
Located here: `@docs/00_problem/input_data`. They are for reference only, yet it is an example of the real data.
|
||||
|
||||
## Restrictions for the input data
|
||||
`@docs/00_problem/restrictions.md`.
|
||||
|
||||
## Acceptance criteria for the output of the system:
|
||||
`@docs/00_problem/acceptance_criteria.md`.
|
||||
|
||||
## Existing solution:
|
||||
`@docs/01_solution/solution.md`
|
||||
|
||||
## Role
|
||||
You are a professional software architect and developer
|
||||
|
||||
## Task
|
||||
- Read carefully component spec in the component_folder: `@docs/02_components/[##]_[component_name]/[##]._component_[component_name]`
|
||||
- Read carefully all the component features in the component_folder: `@docs/02_components/[##]_[component_name]/[##].[##]_feature_[feature_name]`
|
||||
- Investgate in internet what are the best way and tools to implement component and its features
|
||||
- During the investigation is is possible that found solutions required architecturally reorganization of the features. It is ok, propose that and if user agrees, include reorganization in the build feature plan. Also it is possible that interface could be changed or even removed or added new one. It is ok.
|
||||
- Make sure feature is connected and communicated properly with other features and existing code
|
||||
- If component has dependency on another one, create temporary mock for the dependency
|
||||
- Create unit tests from the Test cases description, run it and make sure the result is a success
|
||||
- Create integration test for the feature, run and make sure the result is a success
|
||||
If integration tests are specified in component spec, then write them and run, and make sure that component working correctly
|
||||
- Include in the plan code assesment
|
||||
|
||||
## Notes
|
||||
- Follow SOLID principles
|
||||
- Follow KISS principle. Dumb code - smart data.
|
||||
- Follow DRY principles, but do not overcomplicate things, if code repeats sometimes, it is ok if that would be simpler
|
||||
- Follow conventions and rules of the project's programming language
|
||||
- Ask as many questions as needed, everything should be clear how to implement each feature
|
||||
Reference in New Issue
Block a user