CS项目总结
最近做了近一年的CS项目终于接近完工了,有一种脱离苦海,跳出泥潭的感觉。虽然此项目做的很不理想,但它却给了我颇多感受,许多经验教训值得总结。
1。总的技术解决方案大方向上选择的不合适,导致后期对新的需求,新功能开发上难度上成倍的增加,致使软件的易用性、容错性、扩展性都很不理想,维护起来也相当麻烦,做到后期,bug满天飞,拆东墙补西墙的感觉,真的感觉自己掉进了一个泥潭,怎么都爬不出来的感觉。虽然此方案不是我能决定的,但是在初期,我却从来没有去主动深入的思考过此方案的利弊,以及对以后扩展性等各个方面的影响,这方面做的很不好,遇到问题一定要深入思考,要有自己的想法和思路,不能不加思考的人云亦云,跟上上面走。
2.软件核心模块的构架设计,这一块主要是由我负责的,由于没有考虑到以后需求的巨大变更,致使它不能根据需求的变化去很好扩展新的功能。出现这种问题时本来可以通过重构来适当的调整设计以使后面的开发工作更容易进行,但由于怕麻烦,存在一种这是最后的需求了,实现了就可以了的心理,致使越来越难重构,越来越难进行新功能的开发。
3.核心控件的选择上不够谨慎,为后期的开发带来了巨大的困难。
4.需求分析做的不够到位,和PM的沟通做的不够,致使需变动的太频繁。
通过对这个项目的总结,下面的经验是值得注意的,放之四海而皆准:
1.遇到问题,不要人云亦云,要有自己独立的想法和思路,不要怕麻烦,怕吃力不讨好。不要认为别人已经提供了方案了,我照着做就行,那个不是我的职责范围,只有通过不断的思考,不断的尝试,才能锻炼自己,不断的进步。
2.遇到困难时不能不能总想着逃避,越想躲着它,你会发现它越会找上你,一定要主动的想着去解决困难,这样你会发现后的跟会越来越好走,否则的话,后面会困难重重,举步维艰。
3.遇到需求和实现有冲突时,不能先从开发人员的角度去考虑怎么样实现起来简单来要求需求的调整,首先要从用户的角度去考虑怎么样更易用,更友好。当然这一点不是绝对的,要找到一个好的平衡点,把握好度,有时候一些小的需求的变更可能影响很大,这时就要进量找到一个折中的方案去说服用户。
4.关于控件、技术选择上要考虑到以下几点:
1)控件的扩展性,可否满足以后的潜在需求。
2)控件有没有很好的技术支持,出了问题有没有团队来修复,一些使用上的问题,有没有相关文档、例子、或者团队可以咨询。
3)控件的性能问题,要有压力测试,考虑大数据问题
5.团队的协作性方便,不能放任不管,没有主次之分,这样很容易各做各的,相互推卸责任,没有统一的规范和风格,一定要有一个人去主导,去定制规则,使大家在最优的主线下去最大的发挥主观能动性。
CS项目总结的更多相关文章
- BS项目启动任意EXE文件或者CS项目
1. 基于注册表启动exe程序 1. 桌面新建注册表执行文件:protocal.reg 2. 任意文本编辑器打开该文件 Windows Registry Editor Version 5.00 [HK ...
- web.csproj Compile 下出现两个同名 xxx.cs 项目中出现两个xxx.cs
删掉一个就好了 ItemGroup Compile 为加载的cs代码文件
- 2018北美部分CS项目学费
yearly cost from official website USC 城里 24credit about 49k + cost of room&food BU 城里 NEU 65k 城里 ...
- 最近跟进一个CS项目,用到c#基础知识,准备开个分类记录一下
C#在txt类文件中追加内容 string path = "test.txt";FileStream mystream = new FileStream(path, FileMod ...
- DateHelper.cs日期时间操作辅助类C#
//==================================================================== //** Copyright © classbao.com ...
- Web自定义协议,BS端启动CS端,
实例 1.准备CS项目,windows窗体应用程序,拖进来一个label控件来接受BS的参数,并显示,右击生成,复制该文件的bin目录下的exe,例如放在以下路径,例如C:\\simu\\下, 2.编 ...
- Npoi Web 项目中(XSSFWorkbook) 导出出现无法访问已关闭的流的解决方法
原本在CS项目中用的好好的在BS项目中既然提示我导出出现无法访问已关闭的流的解决方法 比较郁闷经过研究 终于解决了先将方法发出来 让遇到此问题的筒子们以作参考 //新建类 重写Npoi流方法 publ ...
- CS系列(一):Cobalt Strike初体验
0X01 环境准备 Cobalt Strike安装包(链接:https://pan.baidu.com/s/1wCHJcJrF6H0wUCdetz3Xjg 提取码:rjuj) Cobalt Strik ...
- CS系统中分页控件的制作
需求:在一个已有的CS项目(ERP中),给所有的列表加上分页功能. 分页的几个概念: 总记录数 totalCount (只有知道了总记录数,才知道有多少页) 每页记录数 pageSize (根据总 ...
随机推荐
- [CF911C]Three Garlands
题目大意: 给你三个灯,分别以k1秒一次,k2秒一次和k3秒一次的频率闪烁着. 你可以自定义三个灯开启的时间,问是否有一种方案,使得max(k1,k2,k3)秒之后,每秒钟都至少有一盏灯闪烁. 思路: ...
- Java高级架构师(一)第20节:X-gen生成需要的Action
package cn.javass.themes.smvcsm.actions; import cn.javass.xgen.genconf.vo.ModuleConfModel; import cn ...
- xcode中一些便捷用法@literals简写
总结一下,新的属性绑定规则如下: ● 除非开发者在实现文件中提供getter或setter,否则将自动生成 ● 除非开发者同时提供getter和setter,否则将自动生成实例变量 ● 只要写了s ...
- 如何设断点????-----使用WinDbg调试SQL Server查询
http://www.cnblogs.com/woodytu/p/4665427.html http://www.sqlservercentral.com/blogs/aschenbrenner/20 ...
- Linux Hook 笔记
相信很多人对"Hook"都不会陌生,其中文翻译为"钩子".在编程中, 钩子表示一个可以允许编程者插入自定义程序的地方,通常是打包好的程序中提供的接口. 比如,我 ...
- Bootstrap响应式折叠导航
浏览器宽度缩小到一定值时,导航显示为 <nav class="navbar navbar-inverse navbar-fixed-top" role="navig ...
- 手把手教你调试Entity Framework 6源码
0 摘要 本文讲述在Visual Studio 2013(VS 2013)下调试Entity Framework 6(EF 6)源码的配置过程.原则上,VS 2012也适用. 之前打算编写<E ...
- iOS:创建静态库及其使用
本篇来自转载,原创链接为:http://my.oschina.net/leejan97/blog/284193 摘要: 静态库文件可以有效的将功能封装和细节隐藏 ios 静态库 static lib ...
- 使用unity3d开发app
做过一些项目,参入过一些项目的计划安排.总觉得一些工具用起来很麻烦,要么是要收费,要么很大很重.没有针对小团队的简单易用的任务管理工具,也可能是找了些不能适合自己的习惯. 所有准备开始自己开发一款项目 ...
- EffectManager
using UnityEngine; using System.Collections; public class EffectManager : MonoBehaviour { public Ani ...