呜啦!日常碎碎念,偶尔掉落优质前端博文推荐、学习资源等
网页:https://tg.cosine.ren
本频道的搜索Bot 来辣 👉 @cosSearchBot
私聊直接发消息就可以搜索啦~
🔖tags
#优质博文 #资源推荐 #博客更新 #碎碎念 #项目更新 #手工 #书摘 #阮一峰的科技周刊 #新动态

图频:Cosine 🎨 Gallery @CosineGallery
猫片: @cosine_cat
联系频道主:@cosine_yu
#优质博文 #前端 #编程原则 #course
很好很经典的编程方法论推荐,适合初学者。
Programming principles for self taught front-end developers

AI 摘要:本文以作者二十多年自学前端开发的经验为线索,提炼出一系列真正能用得上的编程原则,帮助开发者在「写代码的当下」做出更好的判断。作者从常见的 DRY(Don’t Repeat Yourself)、YAGNI(You Aren’t Gonna Need It)、KISS(Keep It Simple, Stupid)等抽象原则,延伸到更现实可操作的做法,如 “Rule of Three”、 “Make it work, make it right, make it fast”、保持函数幂等(Idempotency)、遵循单一职责原则(Single Responsibility Principle)、维持单一抽象层次(Single Level of Abstraction)。这些原则的核心,是让代码更易于理解、维护和演化——写出「易于推理」的好代码。

[以下是方便搜索索引的大纲 (AI 生成),请读原文]
1. 自学开发者的视角
• 作者并非科班出身,而是在设计工作中逐步学习编程。
• 文章旨在帮助其他自学者少走弯路,用经验性的原则替代抽象的“计算机科学理论”。
• 强调“可实践的原则”比抽象定律更能指导日常编程决策。

2. 从口号到可行的习惯
• 对比常见但抽象的原则:Premature optimisation、YAGNI 和 DRY。
• 引出更落地的 “Rule of Three”:第三次重复时再做抽象或优化。
• 这种「三次规则」帮助开发者在实践中把握代码复用与复杂度的平衡。

3. 写出正确的代码顺序
• 展开 Kent Beck 提出的 “Make it work, make it right, make it fast”。
• 通过明确阶段来避免过早优化或纠结错误焦点。
• 这与 “Rule of Three” 背后的思想一致——聚焦当下任务,不超前设计。

4. 「糟糕的第一版」与逐步演化
• 探讨 Gall’s Law:复杂系统从简单可用系统演化而来。
• 结合 Second-system effect 与 “Best simple system for now” 等理念。
• 总结:优先完成可运行的简单版本,再通过迭代完善。

5. 写出更可推理的代码结构
幂等性 (Idempotency):函数在相同输入下应产生相同输出;有助于减少副作用、提高可维护性。
单一职责原则 (Single Responsibility Principle):一个函数或模块只有一个「变更原因」;避免耦合与连锁修改。
单一抽象层次 (Single Level of Abstraction):函数内部操作应保持一致层次,避免在底层细节与业务逻辑间跳跃。
• 示例:将获取用户、筛选活跃用户、发送邮件分别独立函数化,更清晰且易测试。

6. 原则的统一性与良好代码的特征
• 所有好代码共通点:易理解、易推理、内部职责清晰。
• 不良代码往往混乱于职责、层次或优化顺序上。
• 严格遵守这些原则虽显“教条”,却能在长期维护中体现价值。

7. 推荐阅读
Refactoring by Martin Fowler
Making impossible states impossible by Richard Feldman
Make It Work Make It Right Make It Fast
Single Level of Abstraction
hacker-laws.com


author Andy Bell Programming principles for self taught front-end developers
 
 
Back to Top