Trovo che a volte utilizzi segnaposti nelle stringhe, come questo:
$ cat example-apache
<VirtualHost *:80>
ServerName ##DOMAIN_NAME##
ServerAlias www.##DOMAIN_NAME##
DocumentRoot /var/www/##DOMAIN_NAME##/public_html
</VirtualHost>
Ora sono sicuro che si tratti di un problema minore se il segnaposto è ##DOMAIN_NAME## , !!DOMAIN_NAME!! , {{DOMAIN_NAME}} o qualche altra variante. Tuttavia, ora ho bisogno di standardizzarmi con altri sviluppatori su un progetto, e tutti abbiamo interesse a far sì che il nostro formato di segnaposto sia reso standard nell'organizzazione. Ci sono dei buoni motivi per scegliere uno di questi o altri? Sto cercando di quantificare queste considerazioni:
-
Estetica e usabilità . Ad esempio,
__dict__può essere difficile da leggere in quanto non sappiamo quanti caratteri di sottolineatura ci sono. -
Compatibilità . Qualche lingua cercherà di fare qualcosa di divertente con la sintassi
{}in una stringa (come PHP fa con"Welcome to {$siteName} today!")? In realtà, so che PHP e Python non lo faranno, ma altri? Un preprocessore C ++ subirà un choke sul formato##? Se ho bisogno di memorizzare il valore in qualche motore SQL, non considererà qualcosa un commento? Qualche altra insidie di cui diffidare? -
Maintainability . Il nuovo tipo scambierà
##SOME_PLACEHOLDER##come costrutto linguistico? - Lo sconosciuto . Sicuramente il saggio qui penserà ad altri aspetti di questa decisione a cui non ho pensato.
Potrei essere bikehedding questo, ma se ci sono problemi reali che potrebbero essere in agguato, mi piacerebbe sicuramente per conoscerli prima di imporre che i nostri sviluppatori aderiscano a una convenzione potenzialmente problematica.