Saving the
maximum value of the counter so far in the ?¬?le does not help: two branches from a ?¬?le
where the counter is 10 will both call their respective next elements 11, even though
MODEL SHARING AND SPLITTING 401
they have nothing in common. A reference to 11 can thus later be misinterpreted to
point to the wrong element.
When sharing these ?¬?les, we must also examine what makes a good unique
identi?¬?er for the ?¬?le itself. It is probably safest to use the unique path or internal
identi?¬?er from the version control system. It may well be wise to include this
information within the ?¬?le itself to provide an extra measure of security.
Whatever the of?¬?cial process, if you give developers text ?¬?les some of them are
guaranteed to try to hack them in some way by copying and pasting content between
them or editing them. Since the chance of them being able to do this correctly when
links are involved is vanishingly small, and the consequences of getting it wrong both
large and possibly not noticed until later, links in disjoint ?¬?les will always present a risk.
Even if developers can be prevented from editing the ?¬?les (uninstall Notepad?!)
and the version control system pressed into service as a makeshift repository, there is
still no guarantee that links will be in a consistent state.
Pages:
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775