最近做了近一年的CS项目终于接近完工了,有一种脱离苦海,跳出泥潭的感觉。虽然此项目做的很不理想,但它却给了我颇多感受,许多经验教训值得总结。

1。总的技术解决方案大方向上选择的不合适,导致后期对新的需求,新功能开发上难度上成倍的增加,致使软件的易用性、容错性、扩展性都很不理想,维护起来也相当麻烦,做到后期,bug满天飞,拆东墙补西墙的感觉,真的感觉自己掉进了一个泥潭,怎么都爬不出来的感觉。虽然此方案不是我能决定的,但是在初期,我却从来没有去主动深入的思考过此方案的利弊,以及对以后扩展性等各个方面的影响,这方面做的很不好,遇到问题一定要深入思考,要有自己的想法和思路,不能不加思考的人云亦云,跟上上面走。

2.软件核心模块的构架设计,这一块主要是由我负责的,由于没有考虑到以后需求的巨大变更,致使它不能根据需求的变化去很好扩展新的功能。出现这种问题时本来可以通过重构来适当的调整设计以使后面的开发工作更容易进行,但由于怕麻烦,存在一种这是最后的需求了,实现了就可以了的心理,致使越来越难重构,越来越难进行新功能的开发。

3.核心控件的选择上不够谨慎,为后期的开发带来了巨大的困难。

4.需求分析做的不够到位,和PM的沟通做的不够,致使需变动的太频繁。

通过对这个项目的总结,下面的经验是值得注意的,放之四海而皆准:

1.遇到问题,不要人云亦云,要有自己独立的想法和思路,不要怕麻烦,怕吃力不讨好。不要认为别人已经提供了方案了,我照着做就行,那个不是我的职责范围,只有通过不断的思考,不断的尝试,才能锻炼自己,不断的进步。

2.遇到困难时不能不能总想着逃避,越想躲着它,你会发现它越会找上你,一定要主动的想着去解决困难,这样你会发现后的跟会越来越好走,否则的话,后面会困难重重,举步维艰。

3.遇到需求和实现有冲突时,不能先从开发人员的角度去考虑怎么样实现起来简单来要求需求的调整,首先要从用户的角度去考虑怎么样更易用,更友好。当然这一点不是绝对的,要找到一个好的平衡点,把握好度,有时候一些小的需求的变更可能影响很大,这时就要进量找到一个折中的方案去说服用户。

4.关于控件、技术选择上要考虑到以下几点:

   1)控件的扩展性,可否满足以后的潜在需求。

   2)控件有没有很好的技术支持,出了问题有没有团队来修复,一些使用上的问题,有没有相关文档、例子、或者团队可以咨询。

   3)控件的性能问题,要有压力测试,考虑大数据问题

5.团队的协作性方便,不能放任不管,没有主次之分,这样很容易各做各的,相互推卸责任,没有统一的规范和风格,一定要有一个人去主导,去定制规则,使大家在最优的主线下去最大的发挥主观能动性。

CS项目总结的更多相关文章

  1. BS项目启动任意EXE文件或者CS项目

    1. 基于注册表启动exe程序 1. 桌面新建注册表执行文件:protocal.reg 2. 任意文本编辑器打开该文件 Windows Registry Editor Version 5.00 [HK ...

  2. web.csproj Compile 下出现两个同名 xxx.cs 项目中出现两个xxx.cs

    删掉一个就好了 ItemGroup Compile 为加载的cs代码文件

  3. 2018北美部分CS项目学费

    yearly cost from official website USC 城里 24credit about 49k + cost of room&food BU 城里 NEU 65k 城里 ...

  4. 最近跟进一个CS项目,用到c#基础知识,准备开个分类记录一下

    C#在txt类文件中追加内容 string path = "test.txt";FileStream mystream = new FileStream(path, FileMod ...

  5. DateHelper.cs日期时间操作辅助类C#

    //==================================================================== //** Copyright © classbao.com ...

  6. Web自定义协议,BS端启动CS端,

    实例 1.准备CS项目,windows窗体应用程序,拖进来一个label控件来接受BS的参数,并显示,右击生成,复制该文件的bin目录下的exe,例如放在以下路径,例如C:\\simu\\下, 2.编 ...

  7. Npoi Web 项目中(XSSFWorkbook) 导出出现无法访问已关闭的流的解决方法

    原本在CS项目中用的好好的在BS项目中既然提示我导出出现无法访问已关闭的流的解决方法 比较郁闷经过研究 终于解决了先将方法发出来 让遇到此问题的筒子们以作参考 //新建类 重写Npoi流方法 publ ...

  8. CS系列(一):Cobalt Strike初体验

    0X01 环境准备 Cobalt Strike安装包(链接:https://pan.baidu.com/s/1wCHJcJrF6H0wUCdetz3Xjg 提取码:rjuj) Cobalt Strik ...

  9. CS系统中分页控件的制作

    需求:在一个已有的CS项目(ERP中),给所有的列表加上分页功能. 分页的几个概念: 总记录数  totalCount (只有知道了总记录数,才知道有多少页) 每页记录数  pageSize (根据总 ...

随机推荐

  1. Java学习笔记(4)

    控制流程语句之---------switch选择判断语句 switch(你的选择) case 值1: 符合条件执行的语句: break: case 值2: 符合条件执行的语句: break: case ...

  2. 洛谷 P2066 机器分配

     题目背景 Background 无  题目描述 Description 总公司拥有高效设备M台,准备分给下属的N个分公司.各分公司若获得这些设备,可以为国家提供一定的盈利.问:如何分配这M台设备才能 ...

  3. 移除tabBar 重影

    -(void)viewWillLayoutSubviews{ [super viewWillLayoutSubviews]; for (UIView *child in self.tabBar.sub ...

  4. (转)Android Eclipse 代码混淆

    为了防止自己的劳动成果被别人窃取,混淆代码能有效防止被反编译 1. 大家也许都注意到新建一个工程会看到项目下边有这样proguard-project.txt一个文件,这个对混淆代码很重要,如果你不小心 ...

  5. easyui中一键清空搜索栏搜索条件的思路

    $.fn.clearAllSearchPanel = function () { var $id = $(this); $id.find(".form-control").each ...

  6. Telnet窗口尺寸选项

    转:http://www.cnpaf.net/Class/Telnet/200408/6.html 1.命令名称和选项代码 名称=NAWS(NegotiateAboutWindowSize)协商窗口的 ...

  7. PHP正则表达式之快速学习法

    1.入门简介 简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具.我们可以在几乎所有的基于UNIX系统的工具中找到正则表达式的身影,例如,vi编辑器,Perl或PHP脚本语言,以及awk或 ...

  8. FL2440 Linux-3.0内核触摸屏的支持

    ---------------------------------------------------------------------------------------------------- ...

  9. PHP Xdebug调试专题

    1.介绍与安装 Xdebug是一个PHP扩展,安装配置好后,可以自动记录运行了哪些函数,用了多少毫秒,从哪个文件运行到哪个文件等等 它记下来的调试信息很详细,对一些复杂程序跟踪调试有很大的辅助效果,能 ...

  10. Spark(十一) -- Mllib API编程 线性回归、KMeans、协同过滤演示

    本文测试的Spark版本是1.3.1 在使用Spark的机器学习算法库之前,需要先了解Mllib中几个基础的概念和专门用于机器学习的数据类型 特征向量Vector: Vector的概念是和数学中的向量 ...