在实际的项目开发中,除了要具有遵循通用架构、设计模式和编码规范等这些基本素质之外,我们仍然不得不做很多重复的事情,比如,对表的CRUD操作,通用的业务逻辑等等,这就要求我们要有写通用功能的意识,也就是写一次代码,人人都能用,而且是非常方便地使用起来。写通用代码,实现通用功能也一直是笔者孜孜以求的事情。说的直接点,就是追求写最少的代码,实现代码功能的最大化。顺带一句,实际情况是有时必须对一些功能做些妥协,兼顾效率和安全。当然,写通用的代码不是要教童鞋们变相的偷懒,该写的代码一行也不能少。
  这里笔者大言不惭地确信,绝大多数的基于某一种语言的框架啊(Java,JavaScript或C#等等),ORM还有其他比较拗口的高级名词那啥啥的,实际就是帮我们在语言工具的基础上做了代码和功能上的通用封装,也可以算作是语言的高级二次开发;同时还要灰常不客气地认为,java号称的编译一次,各个平台都能运行也是这种通用功能的一种体现,只不过它是在底层做了更深入的处理。个人意见,不服气的童鞋请勿较真,原谅笔者的浅薄。
  台湾学者李敖在清华大学演讲的时候告诫清华学子不做“自了汉”。所谓自了汉,只顾自己﹐不顾大局者是也。记得笔者早期做开发的时候,每当自己要做的功能实现了,测试也都通过了,就开始做新的功能或者忙别的事情了。其实虽然自己的功能实现了,但是代码不能复用,功能呆板单一,自个开发自个用,典型的自了汉。不写通用代码,不实现通用功能的开发,我们都可以把它们看做是为我辈所不齿的自了汉行径(毒舌一句,这样的开发应该说不算是称职的开发吧)。  

  Don't Repeat Yourself (DRY) 和 Duplication is Evil (DIE)这两个名言警句时刻提醒着我们,在软件开发中,重复是魔鬼,是所有开发者的大忌。其实,我们也可以自己创造一句洋泾浜英语来概括本文要表达的思想:Don't Be a Since the Han(精分了,自了汉,Since the Han,google的翻译!?)。笔者把它通俗地形容为:写通用代码的同志是好同志。您自己看着理解吧。

本文转自JeffWong博客园博客,原文链接:http://www.cnblogs.com/jeffwongishandsome/archive/2010/02/20/1669954.html,如需转载请自行联系原作者

不做自了汉,大家好才是真的好相关推荐

  1. 没做领导的时候,觉得领导都是傻X!做了领导之后觉得下属才是傻X!

    当我还是个单纯的程序员的时候,我觉得做技术应该是最难的,想搞个简单点的客户端技术,网络.SQL.架构设计.Java.OC, 什么都要懂,Python,Js, shell要学的东西很多,还不断的有新的东 ...

  2. 不做在线电商,或许才是永辉超市的未来

    文 | 陈曦 来源|螳螂财经(ID:TanglangFin) 中国的商业模式很奇怪,明明是亏钱,而且是亏大钱,但大家前仆后继.不敢停下来,都想着烧钱跑马圈地. 圈好地怎么办?还没想好. 生鲜电商就是一 ...

  3. 其实真正做了自由职业者之后,才发现赚钱的方式太多了

       "以前在公司上班的时候,其实没发觉除了工资以外会有什么收入来源,每一天都是在公司的计划下工作,生活,学习.因为这个原因也学习到很多,所以真的感谢,但是做了自由职业者之后,才慢慢发觉原来 ...

  4. 哪个牌子的平板电脑好_重庆智能会议平板哪个牌子好?软硬件好才是真的好!...

    你知道智能会议平板是什么吗?智能会议平板(英文:Interactive Meeting Board),时常也被简称为"会议平板",也叫"智能会议平台"和&quo ...

  5. PCR之父凯利·穆利斯:有才,真的可以为所欲为

    2019年8月7日(当地时间),PCR之父凯利·穆利斯(Kary Banks Mullis)由于肺炎去世,享年74岁.对于他的贡献,1998年的<纽约时报>评价:"生物学自此分为 ...

  6. 大家好才是真的好,“通用设计”知多少

    导读 如果说"无障碍设计"是将不同类别人群区分开来.优先为有障群体提供特殊设计,那么"通用设计"则更有野心--致力于提供全人群通用的设计.这种理念在无障碍进程较 ...

  7. 快手用最简单的方式感动每一个独特的你 原来背后的黑科技才是真的666

    "双击""666""老铁""没毛病",或许只有快手有这样的魅力,让用户成为他们最忠诚最形象的广告代言人,当我们听到这些来 ...

  8. 软件好,才是真的好:区块链的1976—2017

    王玮(玮哥) 渡鸦区块链专栏作者 ‍ 一.  区块链历史回顾 1.史前纪事 "1976" 1976年,Bailey W. Diffie.Martin E. Hellman两位密码学 ...

  9. 微营销:内容好才是真的好

    2013年<小时代>的高票房真是让我们一群80后的小伙伴们惊呆了,恶评与票房齐飞.把臭蛋变成了金蛋.奇葩逆袭创造神话,我都不敢相信这一连串的修辞是为了吐槽那些商业上大获全胜的"王 ...

  10. 软件设计是怎样炼成的(8)——用户感觉好才是真的好(用户体验设计)

    摘要: 软件的UI是客户直接体验软件的地方,好的用户体验可能比追求新技术和追求漂亮设计更加重要,优秀的软件应该是既有外在美也有内在美的.但大部分用户是"外貌协会"的,你和用户说你的 ...

最新文章

  1. Quick-cocos2d-x3.3 Study (一) --------- 创建一个UI标签
  2. 线性表的链式表示——双链表
  3. python 字符串的魔法 day11(2)
  4. pod实例数是什么意思_[灌水] Kubernetes In Action: Pod
  5. mysql8 修改root密码
  6. struts2核心配置
  7. python 类继承 baseclass_Python:Dataclass继承自base Dataclass,如何将值从base升级到新类?...
  8. 采用文件白名单方式构建主机安全环境
  9. 简述java 内存回收机制_简单介绍Java垃圾回收机制
  10. 计算机硬盘型号怎么看,硬盘编号怎么看
  11. 奔图 Pantum M6550 打印机驱动
  12. 用java做一个校园网站,基于jsp的校园网站-JavaEE实现校园网站 - java项目源码
  13. 涨姿势 , JavaScript 玩转多线程编程~
  14. 基于模板替换的word文档自动生成
  15. 零基础学习Hadoop
  16. java jar包资源文件_深入jar包:从jar包中读取资源文件
  17. window10下搭建php的运行环境
  18. java perm heap 区别_JVM虚拟机选项:Xms Xmx PermSize MaxPermSize区别
  19. PNG转YUV(自造轮子版)
  20. 不远的将来刷脸付款可以普及全中国

热门文章

  1. 我希望进入大学时就能知道的一些事儿 -----作者:瞬息之间
  2. 日本经济泡沫与房价泡沫
  3. 魔方还原算法学习笔记
  4. PMP考纲解读 |【人】任务3—支持团队绩效(二)
  5. 冬令时 java_java-时间处理夏令时冬令时跨时区问题处理
  6. 贴心的特效制作软件,抖音特效开放平台就能找到
  7. 造成笔记本电池损耗的主要原因
  8. Harbor离线安装
  9. 通过负载均衡器+域名实现容灾切换-(11)深信服负载均衡器
  10. 大家总在讲情商,那到底什么是情商?