Sto scrivendo un'API per la creazione di forme geometriche e sto incontrando alcune difficoltà nel nominare i miei metodi.Ho bisogno di consigli per la denominazione dei metodi wordy
Prendiamo un caso semplice: creazione di un cerchio. Molti di noi potrebbero avere familiarità con un metodo come graphics.drawEllipse(x, y, w, h)
. Per disegnare un cerchio, devi conoscere la coordinata in alto a sinistra, la larghezza e l'altezza del cerchio.
La mia API ha lo scopo di facilitare lo sviluppo di forme da parte di uno sviluppatore utilizzando una varietà di informazioni, senza eseguire molti calcoli matematici, cosa banale per le cerchie, ma più complicata per altre forme. Ad esempio, dovresti anche essere in grado di disegnare un cerchio in base alle coordinate e al raggio del centro o alle coordinate in alto a sinistra e in basso a destra.
Così Ho una classe Circle
con metodi di fabbrica come:
Circle.createWithCenterAndRadius(cx, cy, r)
Circle.createWithBoundingBox(x1, y1, x2, y2)
Circle.createWithWidthAndHeight(x, y, w, h)
Mi sento come se ci potrebbe essere un "codice di odore" qui, ma non sono sicuro. Da un lato, questi metodi di produzione sono necessariamente descrittivi. D'altra parte, posso prevedere che questi nomi di metodo sfuggano al controllo. Ad esempio, come dovrei denominare un metodo di fabbrica Triangolo che crea un triangolo dato un punto, la lunghezza di un lato, un angolo e la lunghezza di un altro lato? Triangle.createWithPointSideAngleAndSide(x, y, side1, angle, side2)
? È solo cattivo?
Se si dovesse utilizzare questa API, i nomi dei metodi come questo vanno bene per te? Hai dei consigli su come posso rendere più sani i nomi dei metodi?
con cosa sei andato? – eglasius
Sto cambiando i metodi per essere chiamato 'da', come nel post di Jason. Sto rimuovendo alcuni dei "non necessari" e, secondo il commento di Joe_M, al post di kevchadder. Ho considerato la tua idea fluida di interfaccia; Sto usando Java, quindi non ho parametri con nome. Mi piace l'idea di Slim, vedere se è fattibile. –
E, ho intenzione di seguire quando ho finito una bozza della mia API, che dovrei essere presto. –