面试时发现的一些软件问题
这段时间参加了一些前端面试,也看到了一些软件问题,主要体现在以下几个方面:
- 第三方件管理。
- 污染全局变量,修改原生对象。
- 使用设计模式去Hack有问题的代码。
- 组件化开发,并没有做到单一职责原则。
个人博客,记录软件技术与程序员的点点滴滴。
这段时间参加了一些前端面试,也看到了一些软件问题,主要体现在以下几个方面:
格雷迪说过:“所有的架构都是设计,但并非所有的设计都是架构”。
软件设计,可以提升代码的可阅读性、可维护性、可扩展性等;一个设计点对软件整体影响比较小,发生变更时代价比较小。避免过度设计,避免无设计,需要找到平衡点才能提升团队的生产效率。本文只关注编码上面的软件设计,不涉及需求分析等其它内容。
软件架构,可以提升系统的可用性、稳定性、高性能等,一个架构点可能影响到整个软件的结构、依赖关系、部署形态等,发生变更时代价往往是巨大的。即使在敏捷组织中,架构点往往需要在相关编码之前确定,编码过程中只进行微调——流程上与软件设计有比较大的差别。
本文中推荐一些软件设计与架构相关的书籍。我先接触到敏捷软件开发思想,所以,从设计模式到软件架构的很多书籍都跟敏捷宣言大佬有关。
继续阅读→