Skip to content

Latest commit

 

History

History
27 lines (18 loc) · 3.58 KB

DM-developer-experience-and-maintainability.md

File metadata and controls

27 lines (18 loc) · 3.58 KB

Developer Experience and Maintainability

Description

The Developer Experience and Maintainability category focuses on the tools and practices that support developers in writing, debugging, and maintaining smart contracts. This includes ensuring that the language provides adequate debugging tools, up-to-date and consistent documentation, and encourages proper commenting practices. By facilitating an efficient development process and promoting code clarity, the language helps reduce the likelihood of errors and vulnerabilities. Additionally, mechanisms for auditing and verifying dependencies are crucial for maintaining overall contract security, especially when integrating third-party code.

This section assists auditors in evaluating how the language supports developers in creating secure, maintainable, and high-quality smart contracts.


Ref Number Name Objective Potential Issues
DM-001 Debugging Tools Ensure the language provides adequate debugging tools to assist developers in identifying and fixing issues during development and auditing.
  • Difficulty fixing issues
  • Missed vulnerabilities
  • Increased development time
  • Reduced code quality
DM-002 Up-to-date and Consistent Documentation Ensure the language documentation is up to date and consistent with the current state of the language to provide accurate information to developers and auditors.
  • Misunderstandings due to outdated docs
  • Incorrect assumptions
  • Vulnerabilities introduced
  • Inefficient code
DM-003 Encouragement of Proper Commenting Practices Ensure the language encourages or enforces proper commenting practices to aid future maintainers and reduce bugs during updates.
  • Misunderstandings during maintenance
  • Introduction of bugs
  • Loss of code intent information
  • Difficulty updating code
DM-004 Dependency Auditing and Verification Ensure there are mechanisms to audit or verify dependencies to maintain overall contract security.
  • Vulnerabilities from dependencies
  • Risks from third-party code
  • Increased attack surface
  • Compromised security

References

For more information, see also: