经过了几个星期的团队协作,我们的“爬虫”有了很大的完善,我作为团队中的主DEV,在这个过程中一边工作一边阅读,也有了不少的收获。

Brooks的《没有银弹》告诉我们,在软件领域,没有什么绝招可以让我们轻轻松松就能克服困境,提升软件的性能,无论在哪一方面取得突破,软件工程各方面也不会有质的飞跃,因此,想要做好软件工程,必须充分利用软件工程的各种方法来解决问题。软件的设计是一项复杂的工作,其中需要考虑的问题是方方面面的,随着代码行数的提高,问题的复杂程度是呈几何增长的,我们只有灵活运用知识才能解决问题。我们组的项目由于要给其他几个组的项目提供数据,在做的时候就更要谨慎,特别是关系到数据的处理方面,有时候增加一条记录能省很多功夫,可是却会给其他组带来极大的不便,我们只能另寻它法。

我们组的设计模式是大教堂模式,我认为,在我们这样的小规模编程使用大教堂模式要比集市模式好得多,因为我们的人数比较少,使用大教堂模式可以让我们分工明确,我也比较喜欢这种只要专心做自己的任务其它不用管的模式。我认为,集市模式更适用于开源社区这种人流量够大的地方,集市模式可以让人们自由地参与到软件中来,这其实是用数量弥补了质量。

所谓大泥球,是指杂乱无章、错综复杂、邋遢不堪、随意拼贴的大堆代码。这在软件规模扩大的过程中是难免的,缺少前期设计、应对需求变化过晚、应对架构变化过晚、碎片式增长都能导致大泥球的产生。我们的代码在我看来是秩序井然的,比我自己写的时候好多了,不过,我感觉还是有“大泥球”存在的,代码中有一些方法有几百行,读起来很困难,而且还是前一发动全身的逻辑,不利于后期的修改,我认为这就是一种泥球,解决时需要理顺逻辑,然后进行模块化的分解。

我们做程序是没有完全按照“瀑布模型”来的,因为瀑布模型要求按工序对问题进行化简,方便人们进行分工合作。强调秩序而不够灵活,这适合大公司做大工程的时候用,我们人数不多,互相之间的配合比较简单,工程也不算复杂,没有这方面的需求,虽然做的时候是按顺序来的,可是我们人数很少,经常一个人跨好几个阶段,所以没有那么严谨的阶段划分。

经过这段时间的工作,我们克服了很多问题,为程序功能得到了完善,我们也成功地学以致用,运用我们学过的软件工程思想进行程序设计,感觉自己的大局观和代码风格有很大提升。

最新文章

  1. android Activity介绍
  2. Shell 获取指定行的内容
  3. javascript如何用户的判断操作系统
  4. PHP 7 Xdebug 深深的坑
  5. python 继承中的super
  6. jQuery 菜单栏 展开与收缩例子
  7. iOS UI基础-17.0 UILable之NSMutableAttributedString
  8. 【jmter】JDBC进行mysql数据库测试
  9. YoMail 邮箱客户端的社会化之路,起于邮箱,不止于邮件
  10. 用gdb调试python多线程代码-记一次死锁的发现
  11. BZOJ 2916: [Poi1997]Monochromatic Triangles [计数]
  12. Cdnbest的cdn程序默认支持web Socket
  13. window.location.reload(false);window.location.reload(true);history.Go(0)区别
  14. L321 How Technology Is Revolutionizing Health Care
  15. [转载]sql server 分布式查询
  16. Java 8 – 日期和时间实用技巧
  17. ASP.NET之报表--RDLC(一)---附源码
  18. ContentProvider和Cursor以及CursorAdapter三者之间内部链接实现原理 解析
  19. windows+python3.6下安装fasttext+fasttext在win上的使用+gensim(fasttext)
  20. Centos7上修改mysql数据目录

热门文章

  1. VS 2015连接SQL server数据库方法
  2. Linux之shell脚本for、while、case语句的高级用法
  3. January 22nd, 2018 Week 04th Monday
  4. MySql/Oracle和SQL Server的分页查
  5. Xpath语法-爬虫(一)
  6. UI开发学习指南
  7. exec dbms_stats.gather_schema_stats 手动优化统计
  8. ECS简述
  9. Sysbench-OLTP数据库测试
  10. 将Integer赋值给int(空指针异常)