Domanda

Per lavoro devo programmare con l'API di un'azienda esterna per gestire la loro soluzione di database proprietaria. Sfortunatamente la documentazione che forniscono è più una guida di esempio che una corretta documentazione API, quindi è molto leggera su dettagli grintosi come codici di errore, restituzione dei metodi ed eccezioni.

Quindi, per esempio, una classe avrà un metodo .GetErrorCode (), ma non ho idea di cosa significano quei numeri di errore perché non hanno documentato quale numero corrisponde a quale errore. In molti casi un metodo restituirà un oggetto, senza alcuna documentazione su quale sia il tipo di oggetto effettivamente restituito. Ho chiesto loro ripetutamente una documentazione adeguata, ma sembrano pensare che dettagli come quelli sopra siano segreti di proprietà. Quindi, c'è qualche strumento o metodo su cui posso aggirare la mia documentazione limitata o in alcuni casi inesistente.

Si noti che sto utilizzando Visual Studo 2005 e la codifica in C # sotto .Net.

E prima che qualcuno risponda, "non usare l'API", devo, è per lavoro.

È stato utile?

Soluzione

Uno scenario sgradevole. Odio suggerirlo, ma forse reflector è tuo amico se non è offuscato . Potrebbero esserci alcuni problemi di IP, ma in questo caso l'inversione sembra l'unico modo possibile per scoprire quale sia l'API. Tuttavia, sospetto (da metodi come .GetErrorCode ()) che questo sia uno spessore sopra P / Invoke - nel qual caso anche il riflettore ti mostrerà solo molte chiamate esterne ...

L'altra cosa principale che posso dire è: scrivere lotti di unit test che descrivono come si sta provando a usarlo ... in questo modo se si indovina un errore e qualcosa cambia, saprai presto.

Altri suggerimenti

Se non riesco a ottenere esempi di codice o parlare con uno sviluppatore originale, di solito ricorro a Riflettore per esaminare il codice sottostante. È lento e inefficiente, ma a volte è tutto ciò che puoi fare.

Dipende dalla tua situazione. Se stai pagando per l'API, dovresti continuare a fare pressione sulla società per una migliore documentazione su come utilizzare l'API.

Se non funziona, quello che farei è avviare la mia documentazione mentre sviluppo. Tieni un quaderno, un Wiki personale (mi viene in mente wiki screwturn ) o una sorta di elettronica documentazione. Come alcune altre persone hanno menzionato, puoi usare Reflector per aiutarti a raggiungere la fonte (se non è offuscata).

Creare la tua documentazione potrebbe non essere quello che stavi cercando, ma se non riesci a ottenere una documentazione reale, almeno creane alcuni mentre impari le cose in modo da poter avere qualcosa che ti guidi tra qualche mese (o anni) lungo la strada quando stai cercando di mantenere il codice creato con l'API.

I migliori strumenti che vengono in mente includono telefono ed e-mail. Spero che tu possa continuare a infastidire le persone fino a quando non ti daranno informazioni più utili ... :(

Utilizza Reflector per visualizzare il codice sorgente. Dovrebbe mostrarti l'Enum per il messaggio GetErrorCode.

Reflector, a proposito, è il più grande programma nella storia dell'universo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top