Ho appena iniziato a utilizzare GitHub per socializzare alcuni progetti per semplici chat e app peer-to-peer. Per quanto riguarda la codifica, è consuetudine omettere la gestione delle eccezioni, il controllo degli errori, la registrazione, ecc., Per promuovere un codice di facile comprensione e 'pulito', se tali aggiunte non sono completamente necessarie per eseguire realmente il codice? / p>
Ad esempio, ecco due esempi estremi:
if( msg != null){
NodeEvent event = NodeEvent.valueOf(msg.getAction());
switch (event) {
case NODE_CONNECTING:
if( nodeName.isInvalid())
Utils.log("Invalid node name, ignoring...");
else{
String existingNodeAddress = _nodeNameAddressMap.get(nodeName);
if( existingNodeAddress != null)
Utils.log("Node address for '" + nodeName + "' updated");
else
Utils.log("New node '" + nodeName + "' connected");
_nodeNameAddressMap.put(nodeName, nodeAddress);
}
}
Ecco lo stesso snippet meno il fluff, sebbene questa versione possa facilmente bloccarsi se viene alimentata con dati errati, ma altrimenti verrà compilata e funzionerà correttamente:
NodeEvent event = NodeEvent.valueOf(msg.getAction());
switch (event) {
case NODE_CONNECTING:
_nodeNameAddressMap.put(nodeName, nodeAddress);
La versione pulita è più facile da leggere, ovviamente, ma è fragile. La versione dettagliata è più sicura, sembra solo ingombra.
Sono solo curioso di sapere se è più efficace per un progetto sociale scegliere l'aspetto più pulito a scapito della fragilità, consentendo a chi spinge il progetto a riempire gli spazi vuoti. Una rapida panoramica dei progetti di github ed è chiaro che la maggior parte cerca il look pulito.