新接手了一个采集器的项目,实现效果就是自动登陆,然后获取指定页面的列表数据写入自己的数据库。
功能挺简单的,但是项目里面用到了大量的第三方控件,大概有三四十个,譬如:RabbitMQ、Autofac、C5、Common.logging、MVVMLight等等等等
我实在不能理解,弄这么多东东有什么意义?求大神解答!
现在开发项目 分两类
1 前期怎么简单,怎么来。如果当前的架构不能满足了,再评估可选技术或者框架然后选择合适的。互联网公司的架构通常就是这么演变的
2 一开始就假想未来用户可能上亿,需要一套完整强大的框架来支撑,要能扛住高并发,要高可用,高稳定 高吞吐,然后啪啪啪的上一大堆各种开源的框架,最后写成了,实际用户却不到2000。
个人是推荐方法1的,等要需要时再扩展,而不是一开始就假想。
说的太好了,这就是个采集器,能同时用10个鸟不起了,大侠我这一堆堆的开源控件,有什么好办法解决吗?
@JsppQ: 先了解其中的每天项技术是用来做什么的像RabbitMQ 是否只是单纯将采集数据与存储数据分离开来,如果就这么一个功能,那直接存内存中 会有什么问题吗? 没有! 那就直接改了它!Loging也是把日志写到txt里有问题吗? 没有! 那就直接写txt里,改之前先评估下 工作量与实际意义 再决定 是否值得
@Zery: 哎,多谢了,这个看来还得慢慢研究,不敢乱改,每天都是几万几十万的流水账,搞错了一天我就被干掉了
这些都是开源项目,可以提高开发效率和质量,比如Autofac是用来实现控制反转和依赖注入的,就比你自己写代码实现这些功能要方便,你可以去http://www.oschina.net/去看看,英语牛的话可以去github看看。
可是我没有感觉到提高开发效率和质量啊!!
首先说开发效率,用了这些以后维护成本上百倍的增加了,这样一个项目,我原来自己做完也就不到一个月时间,现在光弄懂就最少得半年!!
再说,质量,这程序一跑起来就差不多400M内存,我8G内存调试都不顺,怎么玩下去,点一下要卡十来秒!
@JsppQ: 如果你都会这些,项目也比较大的时候,就可以的,比如Autofac,你自己写个工厂架构,就明显没有用Autofac快,而且维护起来也方便,前提是你会用,开源项目很多种,像做一些分布式缓存、NoSql、搜索优化、日志等很多很多,不用开源项目自己写代码很麻烦的,建议你先去oschina、github看看。
@飞翔的小鹦: 可是我问的不是如果,我是问的实际情况,就是现在这个项目,弄这些玩意有什么用?
@JsppQ: 不知道你现在的这个项目是什么样子的,为什么用了三四十个开源项目在这里、每个有什么用,只能问交接前的那个人了,其实功能简单是用不到这么多的,我只能说多会点比较火的开源项目是很有好处的,VS里面的一些功能以前就是一些比较火开源项目,后面就慢慢集成到VS里了。
@JsppQ: 如果你觉得不需要这些,你也做的出效果来,删掉这些开源项目也无所谓。
@飞翔的小鹦: 多谢了啊,感觉之前那个人是开源狂人,什么东西一定都要弄成开源控件,我所熟知的几个都是不需要用开源的,譬如日志、Json、Autofac等等,这些都可以通过。net框架自带的方法实现功能,这样比起开源控件不是更好么?
@飞翔的小鹦: 现在的问题是这些开源控件互相调用,混着在项目里面,几乎隔两三行代码就要调用一个不同的控件,很多都是没见过的。。完全没有办法接手。。。
@JsppQ: 你的这个功能如果简单,而里面“开源控件互相调用,混着在项目里面,几乎隔两三行代码就要调用一个不同的控件”,这种情况如果你要去熟悉里面三四十个控件的作用就很耗时了,不如把一些代码改为自己重写的,到时候遇到问题再想办法解决,这样可能还快点。
没人知道你现在的这个项目是什么样子.所以没人知道你说的这些在你项目里有什么用.
。。。。。。。。