d-koppenhagen / vscode-code-review

Create a code review with all your comments in one file
https://marketplace.visualstudio.com/items?itemName=d-koppenhagen.vscode-code-review
MIT License
68 stars 36 forks source link

Under-the-hood improvement: separate data model from output model #123

Open croesnick opened 2 years ago

croesnick commented 2 years ago

Situation

Currently, there is just one model used throughout the whole extension: the CsvEntry. This model, however, is tightly coupled with the storage format.

Problem

One model does not fit all. For instance, the location information is stored as a string in this model. But this is a choice only reasonable for the csv export, but not at other places in the program, where having explicit access to, say, the stating line would be needed.

Solution

Introduce a program internal data model. Also: Consider applying the Repository Pattern to reduce the coupling to the explicit Csv output format. This would also make switching to future output formats (json? yaml?) easier.