Welcome to the Future: Code Reviews, Questions on Code etc
9am. Mary is writing code.
So…uhhh, yep, that goes there, and then that value gets passed to here…and, oh? What’s that doing there? That doesn’t look right. Hang on, who wrote this? <click, click> Oh, Bob. Well, his code usually makes sense, there’s probably a good reason for this. Let me check.
So, IM, there he is… and he’s online. Great.
09:01 Mary: hey, Bob, you have a second to talk me through some code?
09:01 Bob: yeah, sure, what’s up?
09:01 Mary: OK, I’m in project XYZ, version 3, in the Presenters folder, looking at Car Presenter. I’m at around line 300.
09:01 Bob: OK, OK, hang on. I’m doing something in another project, let me just fire up another instance of Visual Studio
…
09:02 Bob: OK, I’m in. Now, let me just find that project.
…
09:04 Bob: OK, I’ve got the project loaded. Line 300….let’s see… Â the case statement?
09:05 Mary: That’s not right. Oh, I see. I have it checked out and I’ve added some stuff. I don’t really want to check it in right now as it’s broken. I could make a shelf, but for this, I’ll just email it to you.
09:05 Bob: OK, I’ll shout when I’ve got it.
…
09:10 Bob: Allright, I have the email. Line 300. Oh I see, the constructor
09:11 Mary: Yes, that’s it. My question was…
Time to get to asking question: 11 mins.
9am. Mary is writing code. However, she also has the Lync 2010 Plug-In for Visual Studio.
So…uhhh, yep, that goes there, and then that value gets passed to here…and, oh? What’s that doing there? That doesn’t look right. Hang on, who wrote this? <click, click> Oh, Bob. Well, his code usually makes sense, there’s probably a good reason for this. Let me check.
So, I highlight the code here, click the Lync icon, there he is…and he’s online. Great.
09:01 Mary: hey, Bob, you have a second to talk me through some code?
09:01 Bob: yeah, sure, what’s up?
09:01 Mary: It’s this code here. My question was…
Time to get to asking question: 1 min.
That’s not an unusual scenario, and we’ve probably all had experiences of the first type.
The other great thing here is that Bob doesn’t have to be sitting at a computer running Visual Studio, tapped into the corporate source control system. He doesn’t even need Visual Studio to see the code Mary is talking about. He could be at home, relaxing on his tablet (oh, lucky Bob).
In this plug-in example the code is also editable by both parties, and the originating caller (Mary) can elect to replace the highlighted section of code in Visual Studio with the new version which was the result of the collaboration.
I see this being really useful – not just for geographically disparate teams, but even for developers who sit opposite each other. If you look after a significant amount of code located in lots of different projects, it really does take that long to get to the point where you’re both singing from the same hymn-sheet.
Marcelo Farjalla is a program manager with Microsoft Lync, and the author of the MSDN article above. He talks about the plug-in, and gives a working demo, in this Channel 9 video: