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

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

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

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

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

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

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

原文地址: 针对12306.cn网站应用架够的一些看法

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

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

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

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

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

转载于:https://www.cnblogs.com/wala-wo/archive/2012/01/16/5119517.html

针对12306.cn网站应用架够的一些看法相关推荐

  1. 12306.cn网站的思考 (整理篇)

    针对12306.cn网站应用架够的一些看法 背景 针对最近比较热点的列车网上订票系统频繁出现的系统问题,提出了一些自己的看法. 分析 几经分析考虑,认为可能存在几个系统瓶颈. 1.关联系统的系统负载能 ...

  2. 从铁道部12306.cn网站漫谈电子商务网站的“海量事务高速处理”系统

    整篇文章论述的就是"海量事务高速处理"的经验和误区. 第一部分论述"海量事务高速处理"现阶段没有通用解决方案,尝试通用解决方案就是误区. 第二部分讲解算法问题. ...

  3. 今天你买到票了吗 从铁道部12306 cn网站漫谈电子商务网站的 海量事务高速处理 系统

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! < ...

  4. 今天你买到票了吗 ——从铁道部12306 cn网站漫谈电子商务网站的 海量事务高速处理 系统

    <今天你买到票了吗?--从铁道部12306.cn网站漫谈电子商务网站的"海量事务高速处理"系统> 首发地址: http://bbs.hpx-party.org/thre ...

  5. 今天你买到票了吗?——从铁道部12306.cn网站漫谈电子商务网站的“海量事务高速处理”系统

    <今天你买到票了吗?--从铁道部12306.cn网站漫谈电子商务网站的"海量事务高速处理"系统> 原文地址: http://blog.csdn.net/hu_zheng ...

  6. 《今天你买到票了吗?——从铁道部12306.cn网站漫谈电子商务网站的“海量事务高速处理”系统》

    <今天你买到票了吗?--从铁道部12306.cn网站漫谈电子商务网站的"海量事务高速处理"系统> 首发地址: http://bbs.hpx-party.org/thre ...

  7. 酷壳网陈皓:由12306.cn谈谈网站性能技术

    导读:关于铁道部的火车票网络订票系统,这些天招致的骂声不断,当然,除了发泄不满,更多的技术人员选择了献技献策,纷纷从自己专长的角度提出解决之法.本文作者更是从订票业务.前端性能优化技术.后端性能优化技 ...

  8. 转-由12306.cn谈谈网站性能技术

    转载:http://blog.jobbole.com/12151/ 12306.cn网站挂了,被全国人民骂了.我这两天也在思考这个事,我想以这个事来粗略地和大家讨论一下网站性能的问题.因为仓促,而且完 ...

  9. 从网上订火车票的网站12306.cn谈谈网站性能技术

    从网上订火车票的网站12306.cn谈谈网站性能技术 12306.cn网站挂了,被全国人民骂了.我这两天也在思考这个事,我想以这个事来粗略地和大家讨论一下网站性能的问题.因为仓促,而且完全基于 本人有 ...

最新文章

  1. oracle归档日志是否启用,oracle归档日志满了,导致无法启动 ORA-03113
  2. python编程难吗-都说python很简单 真的很好学么?
  3. VisualBox中增大linux硬盘空间的方法
  4. 魔兽怀旧网站模块下载_一个人的网站重新设计和怀旧
  5. .NET Core 2.1路线图
  6. SH760模态分析-多种解析与数字计算方法
  7. django 1.8 官方文档翻译: 1-1-1 Django初探
  8. 1Password 将最高漏洞奖励调高至100万美元
  9. oracle 查看最大连接数与当前连接数
  10. 帮你理解vue的数据绑定的流程
  11. FreeSWITCH折腾笔记3——数据库修改为postgresql
  12. 软件架构风格——4+1视图、5大传统架构风格及其它风格
  13. 常见的几种手机传感器
  14. 前端本地静态模板下载功能
  15. 【教学类-34-01】拼图(运动项目-长方块拼图)3*4格子(中班主题《个别化拼图》健康偏艺术-美术)
  16. 轻量级过程改进之需求管理
  17. 美容院管理系统统一管理制度?
  18. 电脑店、大白菜PE工具去除捆绑软件的方法
  19. oracle如何查看pdb,Oracle基础操作——CDB-PDB
  20. 如何用 APT(Annotation Processing Tool)自动生成代码

热门文章

  1. mysql hammerdb,[料理佳餚] 用 HammerDB 來執行資料庫 TPC-C 效能量測
  2. 计算机二级考试开考多久能出来,【计算机二级】明天就要开考了,你们准备好了吗?...
  3. 计算机语言中tc是什么,新人必须了解的几个TC常用语和脚本基础知识!
  4. mysql查看用户名_Mysql创建数据表的方法介绍(附示例)
  5. 数据库MySQL相关操作||创建数据库、显示所有数据库、切换数据库、显示数据库下的数据库表、删除数据库
  6. 文件服务器 权限和安全,NTFS安全权限、文件共享服务器
  7. 简述oracle数据库特殊状态,【OracleDB】 01 概述和基本操作
  8. 【OpenCV 例程200篇】66. 图像滤波之低通/高通/带阻/带通
  9. android r 编译找不到头文件_「投稿」iOS逆向——砸壳与反编译
  10. 64位c语言调用32位glibc,glibc fclose源代码阅读及伪造_IO_FILE利用fclose实现任意地址执行...