Czy złą praktyką jest nadawanie dwóm bardzo różnym plikom tego samego ogólnego przeznaczenia tej samej nazwy, dzieląc je na różne katalogi?
<script src="client_scripts/app/player_stats/generator.js"></script>
<script src="client_scripts/app/coach_settings/generator.js"></script>
Chciałbym, aby moje nazwy plików były krótkie, a oba pliki mają ten sam ogólny cel, ale nie są identyczne. Nie jestem pewien, czy byłoby to uważane za złą praktykę w profesjonalnym środowisku programistycznym. Chciałbym wiedzieć, jaka jest najlepsza praktyka w tej sytuacji.
Alternatywnie, kosztem krótkiej długości nazwy, mógłbym użyć:
<script src="client_scripts/app/player_stats/player_stats_generator.js"></script>
<script src="client_scripts/app/coach_settings/coach_settings_generator.js"></script>
naming
file-structure
CuriousWebDeveloper
źródło
źródło
statsgen.js
,settingsgen.js
Odpowiedzi:
Rozważ stosunek kosztów do korzyści swoich dwóch opcji:
Czy ponowne użycie tej samej nazwy spowodowałoby zamieszanie lub konflikty nazw? Prawdopodobnie nie, ponieważ znajdują się w różnych folderach. Nazwa „player_stats / generator.js” jest równoważna z „player_stats_generator.js”. Jeśli jednak zobaczysz w przyszłości powód scalenia plików js w jeden katalog (wdrożenie? Nie wiem), to powinien to być dobry wskaźnik do nadawania unikalnych nazw.
Czy używanie dłuższych nazw wiązałoby się z dodatkowym pisaniem? Prawdopodobnie nie. W projekcie jest nie tylko wiele autouzupełnianych nazw plików JS IDE w projekcie, ale także fragment kodu, który prawdopodobnie jest zapisywany - co najwyżej - raz na plik. Często wpisywanym kodem są klasy i funkcje w plikach js, które (mam nadzieję) nie powodują konfliktu.
Jakie informacje o błędzie otrzymujesz podczas debugowania? Jeśli najczęstszym raportem o błędzie jest „Błąd w wierszu 34
<filename.js>
”, zastanów się nad nadaniem im unikalnych nazw, ponieważ otrzymywanie błędów tylko w generatorze.js, a następnie próba wyodrębnienia przez kontekst, który to generator może być kłopotliwy.źródło
Praktycznie rzecz biorąc, jeśli IDE wyświetla nazwy plików na kartach, jeśli użyjesz tej samej nazwy dla każdego pliku, skończysz na kartach, które wszystkie mają tę samą nazwę. To może być bardzo denerwujące. W jednym projekcie, który przejąłem, utrzymywałem ten problem, a otwieranie 15 kart o tej samej nazwie jest dużym problemem.
Więc ... używaj bardziej opisowych nazw.
źródło
index.html
]. Jestem zirytowany programami, które utrudniają określenie ścieżki powiązanej z określonym plikiem.some_super_long_descriptor_that_needs_more_description.js
je odróżnićsome_super_long_descriptor_that_needs_more_cowbell.js
Jest tu wyraźny czynnik decydujący: SUCHO (nie powtarzaj się).
Każda nazwa pliku nie musi być inna; po to są ścieżki . Czy potrafisz sobie wyobrazić, ile różnych plików systemowych lub programów znajduje się na twoim komputerze? Co jeśli każdy z nich musiałby mieć unikalną nazwę? W pewnym momencie po prostu tworzymy nazwę pliku jako kopię ścieżki.
Jeśli najlepszym opisem pliku JavaScript w kontekście
client_scripts > app > player_stats
naprawdę jestgenerator
, jego ścieżka powinna byćclient_scripts/app/player_stats/generator.js
.To pytanie znajduje się na stronie programmers.stackexchange.com/questions/ 250481 . Istnieje również serverfault.com/questions/ 250481 .
250481
to jedno w kontekście pytań programistów i coś innego w kontekście pytań o awarię serwera.Ścieżki (lub adresy URL) są ładne, ponieważ są zagnieżdżonymi identyfikatorami. Wykorzystajmy je w ten sposób :)
źródło
Zawsze używaj nazw opisowych zamiast krótkich nazw, chyba że jest to coś w rodzaju stałej matematycznej lub zmiennej pętli, w których konwencje danego języka faworyzują krótkie nazwy. Na przykład, jeśli wywołujesz zmienną „pi” i masz pewną odpowiednio dokładną wartość pi, to nazwa jest dobra i ma sens. Z drugiej strony, jeśli masz generator, który generuje warunki serii Taylora dla Pi i dodaje je razem do przybliżonego pi, chcesz to nazwać „taylorPiGenerator lub podobny.
Dobre nazwy oszczędzają teraz czas refaktora później lub jeszcze gorzej ogromne błędy później.
Książki „ Czysty kod i kompletny kod” są szczegółowo opisane jako powód i cel dobrego nazywania, ale w żadnym wypadku nie są to jedyne źródła.
źródło
To zależy od technologii, z którą pracujesz. Nazwy powinny identyfikować elementy, a ścieżki powinny identyfikować kontekst. Zgadzam się, że dobre nazywanie jest ważne, ale hej, ścieżki też są nazwami. Ale z praktycznego punktu widzenia, jeśli używasz czegoś takiego jak JavaScript , prawdopodobnie lepiej zachować bardziej precyzyjne nazwy dla elementów końcowych. Jeśli pracujesz z narzędziami, które to uwzględniają, takimi jak Python , zalecanym sposobem byłoby użycie tej samej nazwy z inną ścieżką (moduł, przestrzeń nazw). Jeśli spojrzysz na Javę, znajdziesz także klasy o tej samej nazwie i różnych pakietach. Można pójść o krok dalej i powiedzieć, że metody są nazwane działaniami w kontekście klasy, a my mamy metody o takich samych nazwach w różnych klasach, które same mogą być nazwane tak samo, ale umieszczone w różnych pakietach. Zen Pythona mówi:
Ale javascript ma swoje dziwactwa i zalety, więc zaleciłbym używanie różnych nazw (nawet jeśli pliki znajdują się w różnych ścieżkach). Możesz także poszukać wzoru modułu w javascript, który mógłby pomóc Ci napisać czystszy kod:
Możesz mieć swoje ciasto i zjeść je.
źródło