Reuse Is About People and Education, Not Just Architecture

?

Reuse Is About People and Education, Not Just Architecture

Jeremy Meyer

you MigHT AdopT THE AppRoACH that a framework that is well designed, or an architecture that is carefully considered and cleverly implemented, will lend itself to reuse within your organization. The truth is that even the most beautiful, elegant, and reusable architecture, framework, or system will only be reused by people who:

Know it’s There

Within your organization, developers or designers need to know that a design, framework, library, or fragment of code exists, and where they can find all the critical information about these elements (e.g., documentation, versions, and compatibility) in order to reuse them. It is a simple, logical truth that people won’t look for things that they don’t believe exist. You are more likely to suc- ceed with reusable elements if the information about them is “pushed.”

There are any number of methods for pushing information about reusable elements in an organization. These range from wiki pages with an RSS feed providing update information, useful in very large teams, to email announcing version updates in the source repository. In a tiny team, the designer or lead developer can inform his colleagues in personal conversations or by shouting it across the office. Ultimately, whatever your process for communicating about reusable elements, make sure you have one—don’t leave it up to chance.

Know How to use it

Understanding how to reuse an element depends on skills and training. Of course there are those people who (to use Donald Knuth’s terminology) “reso- nate” with coding and design. We have all worked with them, the gifted devel- opers and architects whose speed and depth of understanding is impressive,

???52 97 Things Every Software Architect Should Know

?

??even scary. But these people are rare. The rest of your team might be made up of good, solid, intelligent developers and designers. They need to be taught.

Developers and designers might not know of the particular design pattern used in a design, or fully understand the inheritance model that the frame- work designer intended them to use. They need to be given easy access to that information in the form of up-to-date documentation, or even better, training. A little training goes a long way toward ensuring that everyone is on the same page when it comes to reuse.

Are Convinced That it’s Better Than doing it Themselves

People, and particularly developers, tend to prefer to solve problems themselves rather than ask for help. Asking how something works is a sign of weakness, or even an indication of ignorance. This has a lot to do with the maturity and personality type of your individual team members; “better than doing it them- selves” means different things to different people. The “young guns” on your team will always want to write things themselves because it appeases their egos, whereas your more experienced people are more likely to accept that someone else has given thought to the problem domain and has something to offer in terms of a solution.

If your team doesn’t know where to find reusable artifacts or how to reuse them, they will default to the natural, human position: they will build it them- selves. And you will pay for it.

Jeremy Meyer has been designing and developing software for nearly 20 years, as well as teaching its mastery. He is currently a principal consultant for Borland Software in its modeling and design space.

时间: 2024-11-06 03:29:10

Reuse Is About People and Education, Not Just Architecture的相关文章

Unix Socket 端口 reuse

如果服务端的程序关闭后,端口不能马上释放掉,需要等一会才能小时,在这之间再启动服务程序是起不来的,但是可以用这个函数,边面这种情况,服务程序关闭后,可以马上再起一次,不会冲突了. listenfd = socket(AF_INET, SOCK_STREAM, 0); /* Enable address reuse */ int on = 1; setsockopt( listenfd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on) ); Unix Socke

truncate表hang住(等待时间较长),出现enq:RO fast object reuse等待事件

有一个应用truncate表等待了一晚上,一个定时任务,跑了几年了,今天早上来发现昨晚没有执行完成,hang住了,查询发现等待事件 fast object reuse. 10.2.0.4的库 Bug 7385253 - Slow Truncate / DBWR uses high CPU / CKPT blocks on RO enqueue (文档 ID 7385253.8) Bug 9761199 - PMON hang on 'enq: ro - fast object reuse' (文

cell reuse & disposebag

For my project I've made base cell class TableViewCell: UITableViewCell { private(set) var disposeBag = DisposeBag() override func prepareForReuse() { super.prepareForReuse() disposeBag = DisposeBag() // because life cicle of every cell ends on prepa

《The Story of My Life》Introductiom - Historical and Literary Context - Education of the Deaf and Blind

At the time the Story of My Life was published, the idea of a disabled person as an active member of society was radical. Through there were institutes for deaf students and blind students in America, they emphasized vocational education, training th

TableViewCell reuse 重用 我认为的正确理解与使用方法

其实有点失望,因为用google搜索“uitableviewcell dequeueReusableCellWithIdentifier”出来一堆堆资深博主的文章.看了看,大部分都是在解决一个问题:使用重用时cell显示混乱的问题.该问题本身并不让我失望,失望的是博主们的解释. 首先,回顾一下UITableViewCell的重用,其基本逻辑就是tableView一开始会创建一屏幕的cell(如果有那么多)并把他们标记(Identifier),之后用户上下滑动tableView时,使用Identi

ValueError: Attempt to reuse RNNCell <tensorflow.contrib.rnn.python.ops.core_rnn_cell_impl.BasicLSTMCell object at 0x7f1a3c448390> with a different variable scope than its first use.解决方法

最近在做生成电视剧本小项目,遇到以下报错 --------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-16-a2d9a7091ca5> in <module>() 10 input_data_shape = tf.shape(input_text) 11 cell, ini

【转载】免费台北.edu教育邮箱及Office 365 Education申请

免费的邮箱非常多,但是免费的.edu教育邮箱却很少有.记得上次不少人寻找.edu教育邮箱还是因为国外一家VPS商家推出的专门针对学生的优惠包,使用.edu教育邮箱就可以获得50美元的优惠,真的很划算. 拥有.edu教育邮箱还有其它好处,例如获得Office365免费使用权限,可以免费扩容Onedrive至1024GB,GitHub提供的GitHub Student Developer Pack,JetBrains Toolbox 专业开发工具学生免费授权计划等等. 本篇文章就来为大家分享一下申请

IOS Table中Cell的重用reuse机制分析

原文:http://blog.csdn.net/omegayy/article/details/7356823 创建UITableViewController子类的实例后,IDE生成的代码中有如下段落: - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = [NSString

Parents in education children don&#39;t begrudge to encourage son too

Parents should not fail to encourage children in education, for he's too strict. Zhu Youyun to pay me 90000 yuan of cash. China Shandong network " because real-name reporting/real-name whistleblowing corruption failed to tell the specific characteris