26 lines
1.5 KiB
Markdown
26 lines
1.5 KiB
Markdown
# Development instructions
|
|
- This is a personal project that will only ever be used by me. No public distribution is planned.
|
|
- The project is written in PHP and targets Dokuwiki.
|
|
- Follow general PHP best practices.
|
|
- Follow Dokuwiki coding conventions: https://www.dokuwiki.org/devel
|
|
- Do not use `phpunit` There are missing dependencies that make it fail.
|
|
- Use `php -l <file>` to check for syntax errors.
|
|
- Consider The official documentation for writing dokuwiki plugins: https://www.dokuwiki.org/devel:plugins
|
|
- Whenever necessary, update the README file to reflect new features or changes.
|
|
|
|
|
|
# General instructions
|
|
- This plugin is inteded to be used by me for many years to come
|
|
- That means maintainability is more important than cutting edge technologies
|
|
- Write code that is easy to understand and modify
|
|
- Favor stability over performance unless performance is a clear requirement
|
|
- Favor simplicity over cleverness
|
|
- Favor explicitness over implicitness
|
|
- Favor well-known solutions over new or exotic solutions
|
|
- Favor documented solutions over undocumented solutions
|
|
- Favor built-in solutions over external dependencies
|
|
|
|
# Conduct and user interactions
|
|
- The user is a professional software developer, but unfamiliar with Dokuwiki internals, PHP and JavaScript best practices
|
|
- When the user gives specific instructions regarding implementation details, check wether those details fit PHP and Dokuwiki best practices.
|
|
- If the user instructions conflict with best practices, point out the conflict and suggest alternatives |