In this installment of Artima's JavaOne 2007 interview series, Bill Venners speaks with Laura Merling, Vice President, Marketing and Business Development and John Mitchell, Chief Architect at Krugle.
On dealing with the difficulty of making changes to code in large organizations with distributed teams and repositories, because of the risk of breaking someone else's code, Laura Merling said:
[You can] search for all the other pieces of code across multiple repositories that might actually be impacted by your single change. Instead of finding it out in QA, or after the fact, you actually get to do impact analysis and determine that ahead of time. You can ask that person, "Hey, I'm going to change this piece of code. This is how I think it will impact what you're doing. Can I make the change?" You can do that in advance.
On the extent to which code search can facilitate code reuse, given that pre-existing code you may find via search may not be exactly what you need, Merling said:
It is easier in your own organization than publicly available code. You tend to have different standards that you use internally to reference code, so being able to look inside should help with reuse. But if you want to find a particular method that you think is out there, you can not only look in code, you can select different channels. You can look at a code channel, or you could look in a project channel if you know what project it might be associated with. ... When you're looking for a reference to something to see if it exists, you'll also get any documentation or related bug tracking or SCM comments. It can help narrow it down in terms of what you're looking for so you can find a better reference for it.
|Laura Merling, Vice President, Marketing and Business Development and John Mitchell, Chief Architect at Krugle, discuss various uses of code search. (4 minutes 51 seconds)|
How have you used code search? What has worked? What hasn't?Post your opinion in the discussion forum.
Bill Venners is president of Artima, Inc. He is author of the book, Inside the Java Virtual Machine, a programmer-oriented survey of the Java platform's architecture and internals. His popular columns in JavaWorld magazine covered Java internals, object-oriented design, and Jini. Bill has been active in the Jini Community since its inception. He led the Jini Community's ServiceUI project, whose ServiceUI API became the de facto standard way to associate user interfaces to Jini services. Bill also serves as an elected member of the Jini Community's initial Technical Oversight Committee (TOC), and in this role helped to define the governance process for the community.
Frank Sommers is Editor-in-Chief of Artima Developer. He also serves as chief editor of the IEEE Technical Committee on Scalable Computing's newsletter, and is an elected member of the Jini Community's Technical Advisory Committee. Prior to joining Artima, Frank wrote the Jiniology and Web services columns for JavaWorld.