001 — Yii 目标和价值观
目标
Yii 项目旨在构建和支持 practical 和 helpful 的工具和社区。
价值观
我们在工作中表达的价值观支持这一目标。我们努力
实用
高性能
性能是实用性的必要条件。软件不应浪费机器资源或人力资源。
合理的默认值和灵活性
我们更喜欢用户可以自定义的合理默认值和约定。我们寻求灵活性、纪律性和简单性之间的平衡,以满足常见需求。
以实践为导向
我们更喜欢实践而不是理论。例如:
- 已知用例的解决方案应通过仅提供必要的灵活性来避免过度复杂性。
- 标准实现应考虑实际使用。
- 在指导设计方面,经验至少与理论一样有用。
- 上下文对于确定适当性至关重要。
有帮助
这一价值观指导技术决策和社区活动。对软件功能如何帮助用户的考虑应该指导开发。在社区方面,我们重视任何有帮助的贡献,无论是 pull request 还是论坛中的回答。
当其他原则发生冲突时,我们选择对社区更有帮助的解决方案。
保持简单
解决方案应该简单且富有表现力:
- 我们使用所需的复杂性,不多不少。
- 除非别无选择,否则我们避免丑陋的解决方案。
- 规则越少越好。
明确表达
我们更喜欢明确、显而易见的解决方案和代码。解决方案应该清楚地表达它们的确切作用。例如:
- 除非抽象有实际目的,否则直接的解决方案比抽象的解决方案更好。
- 明确的失败比静默失败或掩盖错误更好。
- 显式转换比 PHP 类型转换更好,类型提示很好。
- 除非必要,否则不要使用魔术。
保持一致
我们努力在以下方面保持一致:
- 代码风格
- 命名
- 设计
- 结构
- 价值观和目标