Replies: 3 comments 4 replies
-
|
Generally agree, except for Some other things I have issue with, it's just hard to put my finger on it, for example |
Beta Was this translation helpful? Give feedback.
-
|
A while ago we created something similar for SasView https://confluence.ess.eu/spaces/DAM/pages/88834326/SasView+Coding+Rules Some of this text can still be lifted over and reused for EasyScience |
Beta Was this translation helpful? Give feedback.
-
|
I also think this is a really good idea. Having shared development guidelines should definitely help improve both quality and consistency across the projects. I do have a few questions and suggestions, mostly around clarification and how this is meant to be used in practice. First, about where this should live. Is the idea to keep these guidelines in a single place (e.g. a file in an organisation-level repo) and link to it from each project’s The guidelines themselves look nice, but some points feel a bit abstract and could benefit from more concrete explanations. For example:
Overall, I think it would be great to add a bit more detail to each item to make them as unambiguous as possible. Even better would be concrete examples - both good and bad. As Henrik mentioned earlier, having practical rules like “PR's no longer than...” would also help. One more thought: having guidelines is important, but the hardest part is actually following them. Without some form of enforcement, they can easily be ignored. Some of the points, especially around tooling and code style, can be enforced automatically. For example, many expectations can be encoded directly in Ruff rules and Pre-commit and pre-push hooks also help a lot here: only allow commits that pass linting/formatting, and only allow pushes that pass tests. This makes the expectations more explicit. If expectations are enforced this way, we may not need to mention every low-level rule in the guidelines beyond pointing people to things like “Use the project’s formatter/linter settings” or “Refer to linter configurations and pyproject.toml” (as already suggested). For instance, something like “Text files should end with an empty line” is better enforced by tooling than written as a guideline. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
These should be obvious to anyone doing software development, but it might be useful to codify this.
Stolen from user-level CLAUDE.md and modified for our group.
Development Guidelines
Philosophy
Core Beliefs
Simplicity
Technical Standards
Architecture Principles
Error Handling
Project Integration
Learn the Codebase
Tooling
Code Style
Important Reminders
NEVER:
ALWAYS:
Beta Was this translation helpful? Give feedback.
All reactions