程序开发的牛顿三大定律
来源:互联网 发布:域名管理平台 编辑:程序博客网 时间:2024/04/27 23:44
第一定律
在一个惯性参考系里面来看的话,除非受到外力的作用,否则物体会保持静止或者匀速运动。外力简直是太多了:
开发人员在解决BUG;
开发人员在增加新的特性;
开发人员在产生新的BUG;
业务方要求降低操作成本;
第三方竞争改变了市场格局;
用户在改变;
然而一个团队或者产品要么是黄了(保持静止状态)要么是在进行匀速运动(每天都生产固定的利润或者消耗一定的预算)。
第二定律
F = ma。作用于物体的力的矢量等于物体的质量M乘以它的加速度矢量a。
加速度是改变速度的能力。F在这里可以看作一个常量,因为说实话,你的团队的规模是固定的,除非你是在Google。你的时间也几乎是固定的,一天24个小时,除非你住在火星上,它可能会长点,也就是 24.622962小时吧。好吧,我们完蛋了。。只剩一个变量是可以修改了。根据第二定律,对于一个给定的F,加速度和质量是成反比的。质量是一个负担,它和加速度是相背的。
下面列出了一些提升质量的方法:
想拥有的特性太多了
太多技术债要还了
太多的抽象,一层又一层,ORM,DAO,服务,控制器,视图。从数据库捞出一个简单的{“userid”: 123}就需要这么多的东西。哦,我忘了提了,还有SQL,NoSQl....
太多的进程
太多的模式,企业级的策略工厂构造器适配器监听器拦截器。。
沟通的流程太长了,业务方——项目经理——业务分析——团队主管——开发人员(你还可以加入更多的角色)
太多的框架,java EE ,Spring, Hibernate, Struts, Bootstrap, jQuery, Augular.js,Ember.js,你敢看下Java EE吗?在Java EE 7下有39个Java规范请求!
太多的服务器。WEB服务器,关系型数据库,NoSQL服务器,缓存服务器,消息队列,第三方集成服务器。
第三定律
作用力和反作用力总是同时存在的:或者说两个物体间的相互作用力总是相等的,并且作用于相反方向。
A:“我们能删了XYZ特性吗?这样的话代码会简单很多”
R:“还是不要了,这是投资人ABC想要的”
A:“好吧,没关系”
A:“我们能改成git吗?”
R:“别啊,我们最喜欢这些老古董了”
A:”那下次再说吧“
A:“可以升级下Java 1.4吗”
R:“生产环境还有很多在服务器在用呢”
A:“好吧,那我还是坚持手动进行类型转化吧”
在一个惯性参考系里面来看的话,除非受到外力的作用,否则物体会保持静止或者匀速运动。外力简直是太多了:
开发人员在解决BUG;
开发人员在增加新的特性;
开发人员在产生新的BUG;
业务方要求降低操作成本;
第三方竞争改变了市场格局;
用户在改变;
然而一个团队或者产品要么是黄了(保持静止状态)要么是在进行匀速运动(每天都生产固定的利润或者消耗一定的预算)。
第二定律
F = ma。作用于物体的力的矢量等于物体的质量M乘以它的加速度矢量a。
加速度是改变速度的能力。F在这里可以看作一个常量,因为说实话,你的团队的规模是固定的,除非你是在Google。你的时间也几乎是固定的,一天24个小时,除非你住在火星上,它可能会长点,也就是 24.622962小时吧。好吧,我们完蛋了。。只剩一个变量是可以修改了。根据第二定律,对于一个给定的F,加速度和质量是成反比的。质量是一个负担,它和加速度是相背的。
下面列出了一些提升质量的方法:
想拥有的特性太多了
太多技术债要还了
太多的抽象,一层又一层,ORM,DAO,服务,控制器,视图。从数据库捞出一个简单的{“userid”: 123}就需要这么多的东西。哦,我忘了提了,还有SQL,NoSQl....
太多的进程
太多的模式,企业级的策略工厂构造器适配器监听器拦截器。。
沟通的流程太长了,业务方——项目经理——业务分析——团队主管——开发人员(你还可以加入更多的角色)
太多的框架,java EE ,Spring, Hibernate, Struts, Bootstrap, jQuery, Augular.js,Ember.js,你敢看下Java EE吗?在Java EE 7下有39个Java规范请求!
太多的服务器。WEB服务器,关系型数据库,NoSQL服务器,缓存服务器,消息队列,第三方集成服务器。
第三定律
作用力和反作用力总是同时存在的:或者说两个物体间的相互作用力总是相等的,并且作用于相反方向。
A:“我们能删了XYZ特性吗?这样的话代码会简单很多”
R:“还是不要了,这是投资人ABC想要的”
A:“好吧,没关系”
A:“我们能改成git吗?”
R:“别啊,我们最喜欢这些老古董了”
A:”那下次再说吧“
A:“可以升级下Java 1.4吗”
R:“生产环境还有很多在服务器在用呢”
A:“好吧,那我还是坚持手动进行类型转化吧”
0 0
- 程序开发的牛顿三大定律
- 牛顿的三大定律
- 如何 推翻 牛顿三大定律
- 牛顿三大定律治疗拖延症
- 对MM牛顿三大定律全部失效
- [IT幽默]牛顿三大爱情定律【转】
- 牛顿三大定律对MM竟然全部失效
- 牛顿三大定律对MM竟然全部失效
- 测试驱动开发三大定律
- newton's three laws of motion(牛顿三大运动定律)
- 2010年的三大野兽定律
- 产品界的三大定律
- 产品界的三大定律 --周宏桥
- IT领域的三大定律
- IT界的三大定律
- IT界的三大定律
- 牛顿定律
- 机器人三大定律
- [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
- 增量索引构建
- 线段树区间合并+最长连续递增子序列——HDU 3308
- Failed to Find Android Wearable Dependency的解决办法
- mysql常见优化
- 程序开发的牛顿三大定律
- JPA注解
- eclipse—调试快捷键
- Linux Netstat命令详解及实例
- letcode Gray code
- ssh使用uploadify上传文件(2)xml及action
- JMeter入门:Java Request实例
- MYSQL 优化常用方法1
- ArcSDE10.2.1使用Oracle12c新特性——获取DDL日志 支持