2010-04-29 6 views
14

Szukam wyboru przestrzeni nazw dla biblioteki, którą piszę i chciałbym uniknąć konfliktów z innymi przestrzeniami nazw.Lista już użytych prefiksów celu-c

Czy ktoś wie o stronie internetowej zawierającej listę wszystkich prefiksów klas w użyciu?

Odpowiedz

18

http://cocoadev.com/ChooseYourOwnPrefix to prawdopodobnie Twój najlepszy zakład. To nie jest "oficjalne", ale jest to miejsce, w którym wyglądałoby wiele twórców.

W praktyce, o ile nie używa się takiego, z którego korzysta Apple, prawdopodobnie będzie w porządku.

+0

Jak mówi bdrister, dopóki nie używasz prefiksu Apple, nie napotkasz na wiele problemów w ogóle. W przypadku iPhone'a Twoja aplikacja jest piaskowana i nie ładuje żadnych bibliotek dynamicznych/udostępnianych, więc nie kolidujesz z aplikacjami innych firm. – Jasarien

+0

Idealne, dzięki! –

+1

Tak, w ogóle nie przejmuję się prefiksami dla aplikacji - tylko frameworki i wtyczki, które mają być używane przez inne aplikacje – JeremyP

4

Jako alternatywę do początkowe litery przedrostki:

  • Jeśli piszesz aplikację, należy bez prefiksu. Prawdopodobnie w Twojej aplikacji nie spotkasz innej klasy o nazwie AppController.
  • W przeciwnym razie użyj nazwy produktu jako przedrostka. Na przykład, jeśli napisałeś próbnik kolorów o nazwie "Whizbang", nazwij jego główną klasę "WhizbangColorPicker".
+5

Chociaż zgodziłem się, że nie używam prefiksu dla klas aplikacji, okazuje się, że niektóre prywatne struktury Apple nie używają prefiksów klas. W szczególności, prywatny framework MIME.framework, który ma klasę Message i kilka innych. –

+1

Zdecydowanie nie zgadzam się z unikaniem prefiksów z tych powodów. Zawsze prefiks. –

+1

Brak prefiksów to zły pomysł. Kilka lat temu firma Apple wysłała strukturę książki adresowej, zawierającą prywatną klasę wewnętrzną o nazwie "Konto". Zepsułem całą masę aplikacji, które nawet nie używały AB (dostali je pośrednio, używając innej, powiązanej z nią biblioteki Apple, zapomniałem które.) Arkusz mailowy, być może? ShareKit?) – uliwitness

10

Zgodnie z dokumentem Apple "Programming in Objective C" z 2012-12-13, Apple rezerwuje wszystkie 2-znakowe prefiksy do użytku w swoich frameworkach. Użytkownicy są zachęcani do stosowania 3-znakowych prefiksów podczas nazywania ich klas, aby uniknąć konfliktów z Apple. Szczegółowe informacje znajdują się w części "Konwencje".

+2

http: // developer.apple.com/library/ios/documentation/cocoa/conceptual/ProgrammingWithObjectiveC/Conventions/Conventions.html#//apple_ref/doc/uid/TP40011210-CH10-SW2 –

+0

Dobra podpowiedź, Xcode 5 wskazuje już na prefiks * klasy * 'XYZ' – Binarian

0

„Należy starać się wybierać namesthat wyraźnie powiązać każdy symbol z ram. Na przykład, rozważmy dodając krótki prefiks do wszystkich zewnętrznych nazw symboli. Prefiksy pomóc odróżnić symbole w swojej ramach od tych w innych ram i bibliotek Ujawniają również innym programistom, która z ramek to . Typowe przedrostki obejmują pierwszą parę liter lub akronim nazwy struktury.Na przykład funkcje w strukturze Core Graphics używają przedrostka "CG" https://developer.apple.com/library/mac/documentation/MacOSX/Conceptual/BPFrameworks/BPFrameworks.pdf

Powiązane problemy