• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Szyfr Cezara + kilka pobocznych pytań

0 głosów
741 wizyt
pytanie zadane 24 marca 2020 w JavaScript przez mb-dir Mądrala (6,710 p.)

Witam,

Postanowiłem napisać swoją wersje "Szyfru Cezara", kod który stworzyłem działa, i spełnia wymagania które sobie postawiłem(obsługa wielkich i małych liter, możliwość wyboru przesunięcia, odpowiednia walidacja danych). 

Sam kod postanowiłem tworzyć w taki sposób, że przejdę przez kilka możliwych wersji tego kodu, tzn zacznę od jednego pliku w którym wszystko oparte jest na funkcjach, jako "drugi poziom" postanowiłem umieścić logikę szyfrowania w klasie w oddzielnym pliku, trzecim krokiem jest użycie samego ES6Modules i finalna wersja projektu ma używać jakiegoś bundlera np Parcel'a.

Obecnie jestem na "drugim poziomie", kod działa, jednak ja nie jestem co do niego przekonany. Czy to tak ma wyglądać? Klasa w której obsługuje działanie szyfrowania, a na podstawie tej klasy w "głównym pliku"(index.js) tworze nowy obiekt i wywołuje jego metodę która jest odpowiedzialna za szyfrowanie przekazując jej niezbędne argumenty? Rozumiem, że w przypadku tego podejścia jeżeli chciałbym dodać kolejną funkcjonalność np zegar to stworzenie nowego pliku z klasą np Watch, umieszczenie w nim logiki zegara, a następnie w stworzenie nowego obiektu na podstawie Watch w "głównym pliku" jest okey?

I jeszcze jedno pytanie, czy dodanie 'static' do metod pomocniczych(czyli wszystkich poza getCesar) jest ok? Miałoby to na celu uniemożliwienie dostępu do tych pomocniczych metod z poziomu obiektu, przez co ktoś kto używałby obiektu stworzonego na podstawie tej klasy miałby dostęp tylko do głównej metody, która jest odpowiedzialna za szyfrowanie, a np do metody sprawdzającej wielkość liter już nie.

Dodatkowo prosiłbym o ocenę całości projektu, wszelkie uwagi mile widziane.

Pozdrawiam

LINKI

 

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
2 odpowiedzi 558 wizyt
pytanie zadane 15 stycznia 2023 w C i C++ przez Kuba_Brzoza Nowicjusz (120 p.)
+1 głos
1 odpowiedź 913 wizyt
pytanie zadane 1 marca 2022 w Java przez ptomeccc Użytkownik (800 p.)
0 głosów
1 odpowiedź 639 wizyt

93,772 zapytań

142,730 odpowiedzi

323,382 komentarzy

63,369 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...