If you have to explicitly remember which code was prepared for future development, you're doing something wrong. The point of having loosely coupled code is that it should be easily modifiable under a wide variety of circumstances.
I upvoted you for your braveness but I strongly disagree with you. (For me) Type 2 is wrong for everybody because:
+ Been there, done that, ended sadly;
+ We're all different but our limitations are pretty much the same, respect your colleagues!
+ Every successful achieving programmer I've worked with are persons with particularly good sense;
+ Knowing how programming related skills like abstraction and logic are highly related to cleverness you can be easily tricked into seeing programming as a cleverness demonstration or competition. That should be done in college or in controlled environments(no deadlines, no changes in team).