公司内部培训的一些收获

临近年终,公司请来一位讲师来给我们作培训,题目记得是设计匠艺。说实话,我做不到像讲师那样,快讲完课时能将自己所讲的内容都有条理整理一遍。我就大致讲讲我所做笔记的一些内容吧。总的来说这位讲师的实践经验很丰富,讲得也很生动。

观点一:代码的可扩展性和可维护性是矛盾的。这是讲师在上课之初所提的一个观点。说实话我是不太同意这个观点的,一方面加强了代码的可维护性确实加大了代码的维护难度,比如使用了模式可能加大的系统复杂性,但很多时候加强了代码的可维护性同时也方便了代码的维护,比如扩展性增强了一旦出错你也更容易找到自己所要维护的代码了。这个我相信经常做代码重构的同学都有这个体会。

观点二:优秀代码的三个特性:沟通、简单和灵活。其实这三点都和代码的可维护性息息相通的,所以讲师的下一个观点是代码的维护成本远远大于开发成本。这个应该是符合实际的,问题是限于国内的IT环境,有多少企业重视对技术的积累呢?如果对技术积累重视起来,也就会真正重视代码的维护了。有志向的企业都应朝这个方向努力。

观点三:代码就是设计。这是一个说得都有点滥俗的观点,但却引不起我们重视的观点。以前我总是幻想维护文档总是越多越好。现在发现文档存在很多弊端的:首先是代码和文档的脱节问题,比如代码更新了,而文档却没有及时更新;其次是即使你的文档写得很好,可是维护人员会看你的文档吗?而代码是无论维护人员喜不喜欢看,都必须去看。现在我想除了一些涉及数学的复杂的算法需要文档说明之外(而且还必须使用工具和代码绑定在一起),应该做到代码就是设计,就是文档!

观点四:面向对象的三个要素是角色、职责和协作。所有的设计模式都是解决职责问题。。首先有职责,才有设计模式。这些观点非常精彩。我想重读四人帮的《设计模式》,一定会从这个角度思考问题。

观点五:设计模式是一种封装技巧,但封装并不仅仅是信息隐藏。

观点六:设计手法:抽离(抽象隔离),间接和一致。

观点七:对于大多的软件项目或移动开发领域,需要做到快速迭代。快速交付一个可用的产品比什么都重要。不要祈求需求不发生变化(有一个笑话:任何需求都发生三次以上,需求发生两次变化的需求分析人员死在用户更改需求的路上)。正因为变化必然要到来,就要争取变化早点到来,而快速的交付就能带来更多的用户反馈,从而更好应对变化。

观点八:持续构建必须和一系列的测试结合起来,比如单元测试、压力测试等等。

观点九:UML主要是一种交流工具。讲师推崇一种简单UML加测试驱动开发的开发模式。可测试实际上为软件开发活动树立一条红线。

观点十:讲师认为单元测试非常好。他认为单元测试能及时提供反馈;单元测试让你的代码更加健壮;单元测试是有用的设计工具;单元测试是让你自信的后台;单元测试是解决问题的探测器;单元测试是可信的文档;单元测试是学习的工具。(搞得现在我对单元测试非常感兴趣。)

我的一些疑问:如果提倡快速迭代小版本交付,功能开发的优先级由谁决定,怎么决定?软件的设计比如界面设计是否都由开发人员完成?

临近年终,公司请来一位讲师来给我们作培训,题目记得是设计匠艺。说实话,我做不到像讲师那样,快讲完课时能将自己所讲的内容都有条理整理一遍。我就大致讲讲我所做笔记的一些内容吧。总的来说这位讲师的实践经验很丰富,讲得也很生动。

观点一:代码的可扩展性和可维护性是矛盾的。这是讲师在上课之初所提的一个观点。说实话我是不太同意这个观点的,一方面加强了代码的可维护性确实加大了代码的维护难度,比如使用了模式可能加大的系统复杂性,但很多时候加强了代码的可维护性同时也方便了代码的维护,比如扩展性增强了一旦出错你也更容易找到自己所要维护的代码了。这个我相信经常做代码重构的同学都有这个体会。

观点二:优秀代码的三个特性:沟通、简单和灵活。其实这三点都和代码的可维护性息息相通的,所以讲师的下一个观点是代码的维护成本远远大于开发成本。这个应该是符合实际的,问题是限于国内的IT环境,有多少企业重视对技术的积累呢?如果对技术积累重视起来,也就会真正重视代码的维护了。有志向的企业都应朝这个方向努力。

观点三:代码就是设计。这是一个说得都有点滥俗的观点,但却引不起我们重视的观点。以前我总是幻想维护文档总是越多越好。现在发现文档存在很多弊端的:首先是代码和文档的脱节问题,比如代码更新了,而文档却没有及时更新;其次是即使你的文档写得很好,可是维护人员会看你的文档吗?而代码是无论维护人员喜不喜欢看,都必须去看。现在我想除了一些涉及数学的复杂的算法需要文档说明之外(而且还必须使用工具和代码绑定在一起),应该做到代码就是设计,就是文档!

观点四:面向对象的三个要素是角色、职责和协作。所有的设计模式都是解决职责问题。。首先有职责,才有设计模式。这些观点非常精彩。我想重读四人帮的《设计模式》,一定会从这个角度思考问题。

观点五:设计模式是一种封装技巧,但封装并不仅仅是信息隐藏。

观点六:设计手法:抽离(抽象隔离),间接和一致。

观点七:对于大多的软件项目或移动开发领域,需要做到快速迭代。快速交付一个可用的产品比什么都重要。不要祈求需求不发生变化(有一个笑话:任何需求都发生三次以上,需求发生两次变化的需求分析人员死在用户更改需求的路上)。正因为变化必然要到来,就要争取变化早点到来,而快速的交付就能带来更多的用户反馈,从而更好应对变化。

观点八:持续构建必须和一系列的测试结合起来,比如单元测试、压力测试等等。

观点九:UML主要是一种交流工具。讲师推崇一种简单UML加测试驱动开发的开发模式。可测试实际上为软件开发活动树立一条红线。

观点十:讲师认为单元测试非常好。他认为单元测试能及时提供反馈;单元测试让你的代码更加健壮;单元测试是有用的设计工具;单元测试是让你自信的后台;单元测试是解决问题的探测器;单元测试是可信的文档;单元测试是学习的工具。(搞得现在我对单元测试非常感兴趣。)

我的一些疑问:如果提倡快速迭代小版本交付,功能开发的优先级由谁决定,怎么决定?软件的设计比如界面设计是否都由开发人员完成?


相关文章

  • [精品]中层管理培训心得
  • 篇一:中层管理培训心得 经过21天紧张培训,我们xxx第二期中层正职培训班即将结业.请允许我代表全班25名学员,向各位领导简要汇报一下在这短暂的3周时间里,在公司领导及 石化管理干部学院领导老师的关怀指导下,班内25名成员加强自主管理,经过 ...查看


  • 建筑工程公司年度培训计划
  • 建筑工程公司年度培训计划根据公司近期人才发展和培养战略及20**年公司"优化管理,提升效能,锻练内功,聚能蓄势",的工作方针,制定本培训计划. 一.指导思想: 20**年员工培训工作的指导思想是:围绕公司本年度的战略目标 ...查看


  • 人力资源年度工作总结
  • 2012年工作总结与2013时光荏苒,转眼进入公司已大半年,公司的飞速发展,给我的工作带来了新的机遇与挑战,从中不仅有很多的收获,也暴露了自己的不足与待提升的空间,年中接手人力资源岗位工作,单从工作内容方面我就得重新学习与适应,以下是我对自 ...查看


  • 内部培训的SMART原则
  • SMART原则被广泛的应用于人力资源管理方面,采取此方法将有效的对目标进行制定.监控.考核.纠正等.但笔者认为,就内部培训而言,如果我们也能按照smart原则进行规划,则很多无谓的结果将会被泯灭在萌芽状态,培训将达到预期的效果,如果还能够充 ...查看


  • 企管部个人工作总结
  • 2011年企管部工作年度总结 2011年快结束了,回首2011年企管工作,有硕果累累的喜悦,有与同事协同攻关的艰 辛,也有遇到困难和挫折时的惆怅.时间过得飞快,不知不觉中,充满梦想和激情的2012 年随着新年伊始即将临近,自五月份和县安德利 ...查看


  • 辞职报告范文(1500字)
  • 辞职报告范文(一) 尊敬的领导: 我很遗憾自己在这个时候向公司正式提出辞职申请. 来到**公司也快两年了,正是在这里我开始踏上了社会,完成了自己从一个学生到社会人的转变.有过欢笑,有过收获,也有过泪水和痛苦.公司平等的人际关系和开明的工作作 ...查看


  • 实习周志(一)工作性质:咨询顾问工作内容:
  • 实习周志(一) 实习日期:2012 年 2 月 13 日--2 月 17 日 实习时间:40 小时 工作性质:咨询顾问 工作内容: 本周实习是第一周,从周一到周五主要是打电话,联系各家大小公司,询问 其公司培训的进展情况, 碰到需要做培训的 ...查看


  • 公司企业内部培训的评估计划
  • 公司企业内部培训的评估计划 中国加入WTO,企业面临的竞争更加日趋激烈.许多企业开始认识到培训对提高企业竞争力的重要作用,纷纷加强培训!但是,如何去评估培训的效果,历来是培训主管关心也深感头痛的事情.的确,当问及受训员工的感觉时,他们的反应 ...查看


  • 防盗知识培训材料
  • 培训材料 时间:2007年 月 日 地点:防损部办公室 题目:关于防盗知识的培训 内容:一.进.出货物的管理 二.库房.卖场的管理 三.收银员偷盗 四.各岗位防盗 五.内.外盗行为 六.防损员执法权限 超市防盗问题已日渐成为经营管理者最关注 ...查看


热门内容