Ecco un frammento di codice dalla mia app iOS:Come si modifica l'indentazione automatica di Xcode dei parametri dell'obiettivo C?
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Do you like my hat?"
message:@"If so, please help spread the word by rating our app now?"
delegate:nil
cancelButtonTitle:@"No Thanks"
otherButtonTitles:@"Sure!", @"Maybe Later", nil
];
Perché rientrare le righe Xcode così maledettamente lontano? Essendo un vecchio Perl, Ruby, e la scimmia JavaScript, sarei più propenso a rientrare manualmente in questo modo:
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle: @"Do you like my hat?"
message: @"If so, please help spread the word by rating our app now?"
delegate: nil
cancelButtonTitle: @"No Thanks"
otherButtonTitles: @"Sure!", @"Maybe Later", nil
];
Così i nomi ei valori dei parametri sono tutti solo un livello allineato a sinistra, e frastagliata (4 posti per me). Questo utilizza molto meno spazio sullo schermo, ed è meno probabile che dovrò occuparmi delle linee di wrapping (che rendono le cose di indentazione estrema-destra ancora più difficili da leggere) sul mio MacBook Air.
Tuttavia, presumo che ci sia qualche ragione per cui Apple preferisce il primo metodo, e quindi ha il rientro Xcode in questo modo. O c'è?
Così ho due domanda:
- Come si preferisce parametri del metodo di rientro nel codice Objective C?
- Come si modifica Xcode per formattare con lo stile di indentazione preferito?
Non tentare di iniziare una guerra santa qui; Sono più curioso di sapere quali tendono ad essere le migliori pratiche tra i programmatori di Objective-C, come Xcode aiuta con quelle pratiche e per scoprire se esiste una buona ragione per il modo predefinito in cui Xcode lo fa.
Aggiornamento: Commentatori e risposte sottolineano che la formattazione predefinita allinea i parametri a loro i due punti. Avrei dovuto ricordarlo prima di postare, dal momento che ovviamente l'ho notato, e quando l'oggetto più lungo non è molto rientrato, può sembrare molto carino. Ma trovo che, di solito, l'articolo più lungo sia rientrato parecchio. Ad esempio:
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle:@"Do you like my hat?"
message:@"If so, please help spread the word by rating our app now?"
delegate:nil
cancelButtonTitle:@"No Thanks"
otherButtonTitles:@"Sure!", @"Maybe Later", nil
];
Perché è? Anche se volevo che fossero allineati ai due punti (e spesso li ho formattati a mano per farlo), sembra sciocco indentarli così tanto. Perché insiste nel rientrare al livello del colon iniziale? Perché non un solo livello di indentazione, con la parentesi chiusa sporgente per mostrare la fine del "blocco" della rientranza? Per esempio:
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle:@"Do you like my hat?"
message:@"If so, please help spread the word by rating our app now?"
delegate:nil
cancelButtonTitle:@"No Thanks"
otherButtonTitles:@"Sure!", @"Maybe Later", nil
];
Questo sembra essere un difetto meglio di the Google style guide's line length recommendation, no?
C'è un modo per modificare Xcode per formattare i parametri in questo modo?
"Come si preferisce rientrare ..." è [non è una buona domanda StackOverflow] (http://stackoverflow.com/faq#dontask). Per quanto riguarda "Come si modifica Xcode ...", non ci sono opzioni per far rientrare automaticamente i selettori multi-linea in modo diverso. –
FWIW, è possibile ottenere un comportamento simile a quello desiderato aggiungendo una nuova riga prima dell'iniz. Indica automaticamente per allineare i due punti. – jrturton
@robmayoff: buon punto, grazie. Ho aggiornato la domanda. – theory