-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #5 from microsoft/pub/readme-updates
docs: enhance contributing guidelines and add disclaimer to README
- Loading branch information
Showing
2 changed files
with
106 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -15,4 +15,82 @@ or contact [[email protected]](mailto:[email protected]) with any addi | |
|
||
## Goals | ||
|
||
This repository contains a toolkit for healthcare AI examples, providing various utilities and models to streamline the use of the examples in the Microsoft HealthcareAI ecosystem. Use the samples in this repository to explore and implement healthcare AI scenarios. | ||
This repository contains a toolkit for healthcare AI examples, providing various utilities and models to streamline the use of the examples in the Microsoft HealthcareAI ecosystem. Use the samples in this repository to explore and implement healthcare AI scenarios. | ||
|
||
## Code Quality Guidelines for Adding Example Code | ||
|
||
When contributing new examples please follow these guidelines: | ||
|
||
* Examples must be **clear**, **consistent**, and **modular**. | ||
* Examples should manage **dependencies** carefully and must **run without error**. | ||
* Please provide thorough **documentation and explanations** including **diagrams** and **visualizations**. | ||
* Please optimize for **performance** by handling **data** responsibly. | ||
* Following **security** best practices to maintain high code quality and consistency across the repository. | ||
* **Use repository libraries**: Whenever possible, use the `healthcareai_toolkit` library when possible, particularly for loading and preparing images, instead of writing new code. | ||
|
||
Below are more detailed guidelines. | ||
|
||
### Guidelines | ||
|
||
#### Clarity | ||
- Ensure your code is easy to understand. | ||
- Use clear and descriptive variable and function names. | ||
- Include comments and docstrings explaining complex sections, functions, and classes. | ||
|
||
#### Consistency | ||
- Follow the existing coding style and conventions used in the repository. | ||
- Adhere to a consistent code style (e.g., following PEP 8 guidelines for Python). | ||
- Maintain consistent formatting, indentation, and organization. | ||
|
||
#### Modularity | ||
- Write modular code by encapsulating repetitive tasks into functions or classes. | ||
- Enhance code reusability and clarity through modular design. | ||
|
||
#### Executable Code | ||
- Ensure that notebooks run from start to finish without errors. | ||
- You may leave the output of cells in the notebook. | ||
- Implement error handling to make the code robust against invalid inputs or unexpected situations. | ||
- Use try-except blocks where appropriate to handle exceptions gracefully. | ||
|
||
#### Documentation | ||
- Provide a clear explanation of what the example does. | ||
- Include any assumptions, prerequisites, and setup instructions necessary to run the code. | ||
|
||
#### Diagrams | ||
- Diagrams are highly encouraged to explain what is happening in the notebook. | ||
- Use diagrams to illustrate workflows, data processing steps, model architectures, etc. | ||
- Ensure diagrams are clear, properly labeled, and enhance the understanding of the content. | ||
|
||
#### Visualization Standards | ||
- Use clear and informative visualizations. | ||
- Include titles, axis labels, legends, and captions to make plots self-explanatory. | ||
|
||
#### Execution Time | ||
- Ensure that each notebook can be completed within 20-30 minutes. | ||
- Optimize your code for large datasets or time-sensitive operations. | ||
- Use efficient algorithms and data structures appropriate for the task. | ||
- Consider including precomputed results or smaller datasets if necessary to meet this requirement. | ||
|
||
#### Resource Management | ||
- Be mindful of memory and computational resource usage, especially with large datasets. | ||
- Optimize code to prevent unnecessary resource consumption. | ||
|
||
#### Dependencies | ||
- List any external dependencies. | ||
- Ensure they are necessary and up-to-date. | ||
- Avoid including unnecessary packages. | ||
|
||
#### Reproducibility | ||
- Specify versions for critical dependencies and include them in your prerequisites. | ||
|
||
#### Data | ||
- No data can be included in the repository. | ||
- Provide a public location or method for obtaining the data. | ||
- Contact us if there are any issues. | ||
|
||
#### Security and Privacy | ||
- Ensure that security best practices are followed. | ||
- Do not hard-code credentials, API keys, or personal data. | ||
- Use secure methods to handle sensitive information. | ||
- Use environment variables or configuration files (excluded from version control) for any credentials or API keys. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters