L
Lew
Mike said:Very easy, as you point out. When you're working in a large team,
people tend to use the system classes when they can and roll their own
when they can't, and you often get N version of things like this, all
slightly different. So it's nice when they're in places like Object
where people will look first.
When you're on a large team, you're supposed to use standard APIs first, team
libraries second, and roll your own last - and that last only after
coordinating with the rest of the team. Code reviews and such are supposed to
reveal when people have duplicated code, and lead to appropriate refactoring.
It doesn't work well in any team, let alone a large one, for people to work
without coordination.
Of course it happens that multiple versions of the same functionality appear
in large projects. The best-managed teams allocated time and budget to ferret
out such things and correct them ongoingly.