(Risposta breve: dipende da un numero di IDE e di editor diversi di Gazill che potrebbero gestire tutti questi casi in modo leggermente diverso, quindi non esiste un'unica interfaccia utente che tutti utilizzino)
Il problema è molto più grande delle sole lingue in cui il metodo viene presentato prima dell'invocante. Che orrore deve essere programmare in linguaggi che non supportano nemmeno OOP, o che sono digitati dinamicamente in modo da non avere nessuna idea quali metodi potrebbero essere chiamati sull'oggetto all'interno di qualche variabile!
Ci sono diversi modi per uscire da questo enigma:
-
Basta ricordare quali metodi possono essere chiamati su quale tipo. E se non siamo sicuri, possiamo sempre leggere la documentazione. Saresti sorpreso di come funzioni bene.
-
Il completamento del testo stupido può completare parole che si verificano nello stesso file o progetto. Quindi, se c'è un method foobar()
da qualche parte, digitare foo
potrebbe essere completato a foobar
. Sfortunatamente, sarebbe suggerita anche una variabile foobaz
.
-
Qualsiasi forma di completamento più avanzato. Supponiamo di voler chiamare frobnicate
su un'istanza Foo
e la sintassi è method(instance, arguments...)
. Quindi digitando fro
potresti suggerire
frobnicate(Foo foo, int x)
frobnicate(Bar bar, int x, int y)
frodo
Puoi essere abbastanza produttivo senza il completamento automatico di tipo intellisense, sebbene sia una funzionalità molto carina.
La mia lingua primaria sembra essere tipizzata dinamicamente e sfida qualsiasi analisi statica (la metaprogrammazione è troppo carina per rinunciare), quindi suggerire metodi disponibili per alcuni oggetti è assolutamente impossibile. Ma il problema è più piccolo di quanto sembri: non tutto il mio codice è orientato agli oggetti, piuttosto spesso il codice procedurale o funzionale è più adatto. Sopravvivo anche leggendo i documenti delle biblioteche che uso. Il completamento del testo stupido che offre il mio editor è un aumento generale: è più un lavoro che ottenere solo suggerimenti sensati, ma è ancora molto più veloce della digitazione di tutto. Il modo in cui ho impostato il mio editor non è necessario alcun collegamento per attivare i suggerimenti, solo un prefisso di una lunghezza minima.