en:devmon:guidelines:20bestpractices
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
en:devmon:guidelines:20bestpractices [2021/08/19 07:17] – adminw1k1 | en:devmon:guidelines:20bestpractices [2021/08/19 07:29] (current) – adminw1k1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== 20 most important Perl Best Practices ====== | + | ====== 20 Best Practices ====== |
- | - Correctness, | + | - **Correctness**, **simplicity** and **clarity** come first. |
- | - Avoid unnecessary cleverness. If you must rely on cleverness, encapsulate and comment it. | + | - Avoid unnecessary |
- | - Avoid duplication (DRY). | + | - Avoid duplication ([[http:// |
- Coupling and Cohesion. Systems should be designed as a set of cohesive modules as loosely coupled as is reasonably feasible. | - Coupling and Cohesion. Systems should be designed as a set of cohesive modules as loosely coupled as is reasonably feasible. | ||
- Data hiding. Minimize the exposure of implementation details. | - Data hiding. Minimize the exposure of implementation details. | ||
Line 11: | Line 11: | ||
- Write components that are testable in isolation. | - Write components that are testable in isolation. | ||
- The result of every file operation or API call or external command should be checked, and unexpected results handled. | - The result of every file operation or API call or external command should be checked, and unexpected results handled. | ||
- | - Use descriptive, | + | - Use descriptive, |
- Avoid magic numbers. | - Avoid magic numbers. | ||
- Don't optimize prematurely. Benchmark before you optimize. Comment why you are optimizing. | - Don't optimize prematurely. Benchmark before you optimize. Comment why you are optimizing. | ||
- | - Agree upon a coherent layout style and automate it. | + | - Agree upon a coherent layout style and automate it. [[en: |
- | - Adopt a policy of zero tolerance for warnings and errors. Tools such as Perl::Tidy and Perl:: | + | - Adopt a policy of zero tolerance for warnings and errors. Tools such as Perl::Tidy and Perl:: |
- Commenting: prefer to make the code obvious; don't belabor the obvious; comments describe what and why not how. | - Commenting: prefer to make the code obvious; don't belabor the obvious; comments describe what and why not how. | ||
- Separate user vs maintainer documentation. | - Separate user vs maintainer documentation. | ||
- | - Use a revision control system and single-step automated build/ | + | - Use a revision control system |
- | - " | + | - **" |
en/devmon/guidelines/20bestpractices.1629350275.txt.gz · Last modified: 2021/08/19 07:17 by adminw1k1