Antwort
 
Themen-Optionen Thema durchsuchen
Alt 23.08.2008, 16:05 Nach oben    #1
Corvin Gröning
 
Benutzerbild von Corvin
 
Registriert seit: 19.03.2005
Ort: S-H | Flensburg
Beiträge: 459
Standard Benennung von Methoden

Ich mache mir gerade Gedanken, wie ich die Methoden in meinen Klassen (um)benenne. Mein Ziel ist eine möglichst sinnvolle und einheitliche Benennung.

Ich habe get- und set-Methoden. Eine Methode, die den Namen von etwas festlegt (welcher in einer geschützten Eigenschaft gespeichert wird) heißt setName(). Die Methode die den Namen zurückgibt heißt getName().
So habe ich es mal gelernt und ich halte das auch für sehr sinnvoll.

Aber wie ist es nun mit einer Methode, die (z. B.) einen Artikel aus der Datenbank abruft? Sollte ich die getArticle(), loadArticle() oder ganz anders nennen? Gleiche Frage gilt für eine Methode, die eine GET oder POST Variable zurückgibt, diese aber vorher noch überprüft.

Wie sollte eine Methode heißen, die einen neuen oder einen überarbeiteten Artikel speichert? saveArticle() ?

Wie ist es mit einer Methode, die eine Fehlermeldung ausgibt? displayErrorMessage(), printErrorMessage(), showErrorMessage() ?

Dann habe ich eine Methode, die eine Variable auf den richtigen Datentyp überprüft. Was ist hier sinnvoll? isCorrectDataType(), checkDataType(), checkVariable() ?

Was ist ein sinnvoller Name für eine Methode, die eine Seite anzeigt, um einen Artikel zu bearbeiten/zu erstellen? createArticle(), showArticleEditor() ?

Wie ist es mit einer Methode, die die Navigation anhand Daten aus der Datenbank aufbaut? createNavigation(), generateNavigation() ?

Ich möchte einfach mal hören, was ihr dazu meint bzw. wie eure Methoden heißen.
Vielen Dank fürs lesen.

// edit:
selectArticle() und updateArticle() ist mir soeben eingefallen.. klingt schon besser
__________________

Geändert von Corvin (23.08.2008 um 16:30 Uhr)
Corvin ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 23.08.2008, 16:46 Nach oben    #2
Wikinger
 
Benutzerbild von xardias
 
Registriert seit: 02.03.2006
Ort: Aachen
Beiträge: 189
Standard

Nun letztenendes würde ich mich an deiner Stelle nicht so lange damit aufhalten.

Wichtig ist, dass die Methode möglichst gut beschreibt was diese macht nur solltest man darauf achten, dass es eben im Projekt möglichst einheitlich bleibt.
So würden sich z.B. select/updateArticle anbieten da diese genauer beschreiben was die Methode macht.

Ich weiß nicht wie die Benennungskonventionen für PHP aussehen (falls es welche gibt) aber ich denke, dass man sich allgemein angewöhnen sollte die Konventionen der benutzten Sprache einzuhalten, vor allem wenn man Bibliotheken oder Frameworks entwickelt.

In Python ist es beispielsweise üblich Methoden mit Unterstrich als Trennzeichen zu benennen, statt CamelCase. Also get_attribute statt getAttribute. Das ist letztenendes Geschmackssache, aber man macht sich das Leben erheblich leichter wenn man lernt sich mit sowas nicht groß zu beschäftigen und es einfach als Rahmenbedingungen zu akzeptieren.
xardias ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 23.08.2008, 21:16 Nach oben    #3
Corvin Gröning
 
Benutzerbild von Corvin
 
Registriert seit: 19.03.2005
Ort: S-H | Flensburg
Beiträge: 459
Standard

Zitat:
Nun letztenendes würde ich mich an deiner Stelle nicht so lange damit aufhalten.
Das ist klar, ich habe auch nicht vor, Tage lang nach dem perfekten Namen zu suchen, anstatt weiterzuarbeiten.

Zitat:
Ich weiß nicht wie die Benennungskonventionen für PHP aussehen (falls es welche gibt)
Afaik gibt es keine.

Ich habe mich nun zu folgenden Namen entschieden:
displayArticle()
updateArticle()
displayErrorMessage()
checkVar()
getRequestVar()
displayArticleEditor()
buildNavigation()
usw.

Ansonsten kann ich jederzeit auch noch was ändern. Mein Skript benötigt etwa eine Sekunde um alle Dateien zu ändern.
__________________
Corvin ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 24.08.2008, 10:17 Nach oben    #4
Gabriel
 
Registriert seit: 27.09.2006
Ort: Radebeul
Beiträge: 433
Standard

Naja für Methoden die einen bool Wert zurückgeben hab ich immer den Methodennamen: isInt() oder isString(), das ist dann wie eine Frage und auf die kann man mit Ja oder Nein Antworten, true, false
__________________
Mein Blog: http://aedo.redio.de RSS: http://aedo.redio.de/feed
Kanedo CMS Projektseite: http://kanedo.redio.de/de/
RSS: http://kanedo.redio.de/rss.php
kampfgnom ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Hilfe bei Benennung von Methoden Ben Plauderecke 13 06.02.2007 20:48
Methoden via String aufrufen Xean Allgemeine Java-Programmierung 6 13.03.2006 19:48
Überladung von Methoden in PHP. Hä? Ben PHP-Programmierung 4 12.03.2006 15:24
Button hat Standard-L&F wenn er außerhalb von Methoden deklariert wird Corvin Allgemeine Java-Programmierung 11 17.02.2006 14:55
abstrakte Methoden WurstBrot Allgemeine Java-Programmierung 4 11.08.2005 17:04


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:24 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45