链接
http://www.cnblogs.com/514DNA/p/7596472.html
关于五个问题
1.第一章32页,原文:“有人认为,“中文编程”,是解决程序员编程效率的一个秘密武器,请问它是一个“银弹”么?
我的回答:首先,它不是一个银弹,因为中文编程不具有普适性(如国际合作项目)
其次,它在特定情况下确实可以大幅提高编程效率
特定情况下是指:
1.团队中所有成员或今后可能加入的成员均以中文为母语
2.有固定的文字编码格式(如都用gbk编码)
在此基础上,规定好变量命名和编码风格,我认为仍然可以大幅提高程序员的编程效率
2.对新技术保守的态度带来的弊端有多大?
我的回答:上完一学期的软件工程,我认为新技术不是绝对的好,比如说我们团队用的cocos creator就非常坑
但是只是对新技术的可用性持保守态度,我认为没有问题
但是对新技术的学习持保守态度,我认为会存在一些弊端,这样就容易出现我用旧技术花30天做好的项目,有人花10天学习新技术,花10天做好
这样会带来效率的降低,因此,仍要对新技术的学习持积极态度,毕竟会用了才知道他好不好
3.思维方式对合作的影响比较大这个观点合理不合理,我上述观察的现象在公司内是否也存在?
我的回答:在公司内怎么样我还是不清楚。
但是思维方式对合作的影响我认为,不大
合作编程,大家都是带着任务来,按照一定的规范去书写代码,思维方式只会影响个人的代码架构,而不会影响和他人模块间的合作
就算是结对编程,大家的思维也都集中在代码上,个体差异并不大。
4.新特性是否需要在语言更新时就花时间进行学习。
我的回答:还是cocos creator带来的教训,语言的新特性也算是新技术的一种,我认为不需要语言更新时就花时间学习
而是出现了在这个语言基础上新的编程范式,也就是说有些新技术比较成熟了,才需要去学习(有时对语言特性的不理解也会产生BUG)
5.大一禁止使用goto是因为我们刚接触编程,goto虽然很方便,但是用goto来回跳会导致逻辑混乱
现在允许使用goto,是因为我们已经接触和编写了一定量的代码,对程序逻辑有一定的把控能力,因此可以使用goto来让逻辑更清晰
我这样理解合理不合理?
我认为合理,我编译课设就用了大量goto来做错误处理,结构依然清晰。
这五个问题,我全都是在这一学期的实践中碰壁或者带来惊喜得到的答案,果然软件工程是一门实践性很强的学问。
对原来的问题都明白了,新的问题我想提一点。
软件工程中可不可以有类似于流水线式的工作模式(我们开发时就是这样做的)?
所谓流水线,就是这样,假设有A,B,C,D,E五个层层递进的模块
团队分为如下步骤开发
1.设计A
2 开发A,设计B
3.测试A,开发B,设计C
4.测试B,开发C,设计D
这样直到测试完E,那么就可以发布软件
这种模式在公司中的软件工程项目中可不可行?
请问你们在项目的 需求/设计/实现/测试/发布/维护阶段(一共6 个阶段)中都学到了什么“知识点”,每个阶段只要说明一个知识点就可以。
学到的知识点:
需求阶段:分析用户行为之后再得到需求非常重要(我们的游戏没有人玩orz)
设计阶段:做决定要果断,优柔寡断会严重拖慢工程进度(血的教训)
实现阶段:人员分配合理非常重要,不然容易把事情集中到一个人身上
测试阶段:一定要选择方便测试的框架,框架选不好测试会变得非常困难
发布阶段:一定要趁早实现产品,这样才有充足的时间去发布,去收集用户反馈
维护阶段:收集用户反馈再去解决问题,比测试人员在那硬测更有效率