让大家学会复用
2015-08-17 23:56
148 查看
作者:杰里米·迈耶(JeremyMeyer)
有这样一种观点,认为设计优良的框架、细致考虑并精巧实现的架构自然会被人们重复利用。事实上,既便是最精美的架构、最优雅的框架、可复用性最高的系统,也必须满足下面的条件才可能被复用。
大家知道它们存在
为了让公司内的开发人员和设计人员重复利用己有的设计、框架、函数库或代码段,必须先让他们知道这些资源的存在,以及在哪里可以找到相关的信息(比如文档、版本和兼容性等)。这里的逻辑很简单:人们不会寻找不知道的东西。当大家可以轻松获取这些信息时,复用的几率就会上升。
在公司内推广可复用资源的办法有很多,规模较大的团队可以通过Wiki页面和RSS订阅来更新信息,或者利用E-mail通知大家版本库的更新情况。在小团队里,设计师和开发组长可以逐个通知同事,或者干脆大喊一噪子,通知办公室里所有的人。总之,你必须有办法推广可复用的资源,无论采用哪种形式都好过置之不理。
大家都知道如何使用它
掌握如何利用己有的资源需要一定的技巧和培训。当然,某些天才的开发人员和架构师(按照Donald Knuth的说法)能够和代码、设计产生“共鸣(resonate)”,他们的理解能力和理解速度令人印象深刻,甚至可怕。但这种人毕意罕见,团队里余下的那些称职的、严谨的,有领悟能力的开发人员和设计人员仍然需要这方面的训练。
开发人员和设计人员有可能不明白设计中采用的特定设计模式,或者无法透彻地理解框架设计者希望他们使用的继承模式,应该为他们提供方便获取相关信息的途径,例如提供最新的文档,最好能开展培训。简单的培训可以获得很好的效果,使大家对复用保持一致的认识。
大家认识到利用己有资源好过自己动手
一般人(特别是开发人员)倾向于自己解决问题,不愿意寻求别人的帮助。他们觉得向别人请教问题是一种浅薄,甚至是无知的表现。“好过自己动手”对不同的人有不同的涵义,与个性类型,以及心智是否成熟有很大关系。刚参加工作的人凡事喜欢自己动手,展现工作。但有经验的员工乐意了解别人对类似问题的思考,希望最好己经有了解决的办法。
如果大家找不到可复用的资源,或者不知道如何使用这些资源,人的天性就会发挥作用:他们会自己动手实现。到头来吃亏的还是架构师。
有这样一种观点,认为设计优良的框架、细致考虑并精巧实现的架构自然会被人们重复利用。事实上,既便是最精美的架构、最优雅的框架、可复用性最高的系统,也必须满足下面的条件才可能被复用。
大家知道它们存在
Know it's There
为了让公司内的开发人员和设计人员重复利用己有的设计、框架、函数库或代码段,必须先让他们知道这些资源的存在,以及在哪里可以找到相关的信息(比如文档、版本和兼容性等)。这里的逻辑很简单:人们不会寻找不知道的东西。当大家可以轻松获取这些信息时,复用的几率就会上升。在公司内推广可复用资源的办法有很多,规模较大的团队可以通过Wiki页面和RSS订阅来更新信息,或者利用E-mail通知大家版本库的更新情况。在小团队里,设计师和开发组长可以逐个通知同事,或者干脆大喊一噪子,通知办公室里所有的人。总之,你必须有办法推广可复用的资源,无论采用哪种形式都好过置之不理。
大家都知道如何使用它
Know How to Use It
掌握如何利用己有的资源需要一定的技巧和培训。当然,某些天才的开发人员和架构师(按照Donald Knuth的说法)能够和代码、设计产生“共鸣(resonate)”,他们的理解能力和理解速度令人印象深刻,甚至可怕。但这种人毕意罕见,团队里余下的那些称职的、严谨的,有领悟能力的开发人员和设计人员仍然需要这方面的训练。开发人员和设计人员有可能不明白设计中采用的特定设计模式,或者无法透彻地理解框架设计者希望他们使用的继承模式,应该为他们提供方便获取相关信息的途径,例如提供最新的文档,最好能开展培训。简单的培训可以获得很好的效果,使大家对复用保持一致的认识。
大家认识到利用己有资源好过自己动手
Are Convinced That It's Better Than DoingIt Themselves
一般人(特别是开发人员)倾向于自己解决问题,不愿意寻求别人的帮助。他们觉得向别人请教问题是一种浅薄,甚至是无知的表现。“好过自己动手”对不同的人有不同的涵义,与个性类型,以及心智是否成熟有很大关系。刚参加工作的人凡事喜欢自己动手,展现工作。但有经验的员工乐意了解别人对类似问题的思考,希望最好己经有了解决的办法。如果大家找不到可复用的资源,或者不知道如何使用这些资源,人的天性就会发挥作用:他们会自己动手实现。到头来吃亏的还是架构师。
相关文章推荐
- Codeforces Round #249 (Div. 2) (模拟)
- C/C++获取本地时间常见方法
- Centos 6.4 KVM安装和配置
- Android 双进程Service常驻后台,无惧“一键清理
- apache和IIS同时存在,apache建立多个网站
- Codeforces Gym 100431B Binary Search 搜索+组合数学+高精度
- JQuery学习笔记 选择器 序
- XML报错
- javascript
- 《Java解惑》读书笔记
- CSU 1542 Flipping Parentheses(线段树)
- Java设计思想(1)
- Java基础---面向对象
- 手把手实现andriod应用增量升级
- hdu 1166 敌兵布阵
- JavaScript权威指南_156_第16章_脚本化CSS_16.6-脚本化样式表
- nslookup工具
- Mac OS安装使用docker
- nginx环境配置
- shell 脚本教程--入门级