Acid2 in IE8
It’s cool that Microsoft has announced that IE8 passes the Acid2 test (in “IE8 Standards Mode” – I sure hope that mode is enabled by default.
But what I found interesting is how they announced it: By showing the check-in mail that signified the committing of the code that implemented the fix into the main IE source tree. Check that out here.
A few things it reveals:
- This fix touches a lot of files. This wasn’t a simple fix.
- Microsoft uses Perforce for source code management. This is indicated by the //depot/path syntax used for the files.
- IE8 work is happening on a branch, called LONGHORN_IE8. Typically new features are added to the “main branch” (which usually doesn’t have a name). I wonder what’s on the main branch.
- Obviously some IE work started before source file names could be more than 8 characters long. LSTXBR1.H?
- Microsoft uses some sort of pre-checkin code review process. This is a good sign; we use this at on my team at Adobe and I think it’s proven itself valuable.
- No C# code in sight; IE’s core is still all unmanaged C++ code.
- The IE devs use a mix of extensions for C++ source and header files; cxx vs cpp, .h vs .hxx. Personally I’ve never worked on a project that used cxx and hxx, so they seem unnatural to me.
Nothing earth shattering, but an interesting peek behind the scenes nonetheless.
December 24th, 2007 at 5:27 pm
Microsoft doesn’t use Perforce, they use their own internal product called SourceDepot (some smaller/new teams are moving to VSTFS from my understanding.). Rumor has it that they bought access to Perforce source way back in the day and its based on it, but I’ve heard they’ve been using this for well over 7 years.
January 15th, 2008 at 3:50 pm
I guess IE code is a complete mess… The lack of standards in file naming is just a insight. Can you figure out how messy would be the names of variables and functions?