Was ist der beste Ansatz, um mehrere Funktionen Zwecke mit dem gleichen Namen in Swift zu unterscheiden. Zum Beispiel habe ich den folgenden Code:Swift Unterscheiden mehrere Funktionen Zwecke mit dem gleichen Namen
protocol SomeProtocol {
func simpleFunc() -> Bool
func simpleFunc() -> Int
func simpleFunc(type: SomeType, x: Int, y: Int) -> [SomeModel]
func simpleFunc(type: SomeType, z: String) -> [String]
}
Wenn ich diese Funktionen verwenden wird es nicht klar, was der Zweck jeder dieser Funktionen ist. Ich möchte etwas tun, wie mit Standardfunktionen tableView
getan wird. func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
Wenn ich diese Funktion wähle ich verstehe, dass es für didSelectRowAt
verwendet wird, so habe ich so etwas getan:
protocol SomeProtocol {
func simpleFunc() -> Bool /* purpose1 */
func simpleFunc() -> Int /* purpose2 */
func simpleFunc(purpose3 type: SomeType, x: Int, y: Int) -> [SomeModel]
func simpleFunc(purpose4 type: SomeType, z: String) -> [String]
}
Leider, wenn die Funktion dieser Ansatz nicht funktioniert hat keine Parameter. Was sind die besten Praktiken hier?
Werfen Sie einen Blick auf die [Swi ft API-Richtlinien] (https://swift.org/documentation/api-design-guidelines/), wobei z. der _Naming_-Abschnitt: _ "Alle Wörter einschließen, die benötigt werden, um Mehrdeutigkeit zu vermeiden" _. – dfri
Die beste Vorgehensweise besteht darin, die identische Benennung Ihrer Funktionen zu vermeiden, wenn sie keine Parameter haben. – Aaron
technisch kennen Sie die Rückgabetypen an den Funktionen. Man gibt Bool zurück, man gibt Int zurück. Wie Sie jedoch schon gesagt haben, sollten Sie sich die Benennungsrichtlinien ansehen. – JustinM