编程怪圈

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编程怪圈相关的知识,希望对你有一定的参考价值。

最近遇到了一个怪圈,经师兄点拨后发现:

  一个项目使用框架势必会损失一部分灵活性,毕竟框架是按照通用思路设计的,而每个项目的难点往往都不一样,盲目套用框架虽然能够拥有框架天然的设计模式、可扩展性、可重用性等诸多好处,但是无论是大而全的框架还是小而精的框架,都无法完全的适用于一个完整的项目,项目中一定会有一部分需求为了顺利使用框架而做出牺牲;

  而使用原生方法/语言/库又会损失重用性、扩展性以及设计模式的优势,由需求点驱动编程,需要什么才解决什么,比较灵活,但是这样写出来的模块总是比较繁杂,逻辑不清晰,好像也不太利于团队共同完成一份代码。

  我之前用了半个月思考怎么把基于jQuery的epub解析器(2012)套用到React技术栈中,让它也能应用上虚拟DOM技术以及清晰的代码结构,而不是对每个DOM节点进行复杂的命令式操作,但最后还是用了jQuery单独开一个页面展示依赖epub解析器的内容,没有完全的做成单页应用。因为要把它套用进框架(或者叫另一种设计模式)的成本,好像比整个项目的成本还大。

  现在整个项目有个初步的样子了,感觉这样兵分两路去完成一个项目也不错,一是需求都能合理的落实了,二是开发成本控制的也比较合理,没有陷入到某一个技术点不能自拔,最后耽误项目进度的情况。

技术分享图片

  想到设计模式是因为,最近在学一门敏捷软件开发的课程,老师要求对一个购物管理程序进行设计,同学们提了很多不同的设计模式,但另一位同学认为对这种程序进行设计是过度设计,一个简单的对API进行实现和扩展的Java程序,需要使用高级的设计模式吗?我觉得不需要,无论采用哪种设计模式,最后的代码量也不会超过200行,内容可能还没有设计模式的示例程序丰富......那又何必让它符合一个似乎合理的设计模式呢?在功能很少的时候,实现这些功能需要花费20%的时间,让程序符合某种设计模式需要花费80%时间,期间也少不了让功能做一些牺牲,以换来代码上的清洁。在功能很多的时候,上万行代码需要团队多人协作,这样的程序实现功能需要花费80%的时间,让它符合某种设计模式需要花费20%时间,我觉得这样的分配是合理的,牺牲一小部分实现功能的时间,让整个团队效率提升,是值得的。

 

以上是关于编程怪圈的主要内容,如果未能解决你的问题,请参考以下文章

我找女朋友的标准很简单,只要她认为Java是世界上最好的语言就行

我找女朋友的标准很简单,只要她认为Java是世界上最好的语言就行

平方怪圈

陷入悖论怪圈的NFT

LQ0050 平方怪圈模拟+进制

自建遥感AI模型 探索沙漠中的绿色怪圈