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

Ocena kodu (Code review)

VPS Starter Arubacloud
0 głosów
241 wizyt
pytanie zadane 2 stycznia 2019 w Python przez Piotr Jasiński Bywalec (2,120 p.)

Witam No jakiś czas temu (w sumie to dłuższy czas) napisałem aplikację edytor tekstowy zapewniająca wsparcie dla mało popularnego języka skryptowego Daedalus używanego w grach z serii Gothic... Chciałbym prosić o ocenę kodu jakieś podpowiedzi co można dodać przydatnego do takowego edytora. Wszelkie podpowiedź co można dodać było by najlepiej gdyby umieszczone jako Issue na githubie ewentualnie pod tym temate ;)

LINK: DEdit <---- Wersje do uruchomienia można pobrać z Releases (Niestety działa na razie na Win bo nie miałem jak tego zbudować na linux ;) )

Z góry dziękuje za przeczytanie posta :) I szczęśliwego nowego roku :)

2 odpowiedzi

0 głosów
odpowiedź 3 stycznia 2019 przez RafalS VIP (122,820 p.)
wybrane 3 stycznia 2019 przez Piotr Jasiński
 
Najlepsza

Brak pliku requirements.txt

Brak konsystencji nazewnictwa metod, raz camelCase raz under_score

Wszelkie wyjątki łapane od razu bez żadnej obsługi. Jeśli coś pójdzie nie tak to pasowałoby coś z tym zrobić :P

UI.ui_look(self)

bardzo dziwne. ui_look to nie czasownik i to powinna być metoda klasy, a nie funkcja sztucznie udająca metode tylko po to zeby wylądować w innym pliku - przekazujesz do niej jawnie self.

To samo tutaj:

def check_exist_filename(self, name):

Plik Helpers.py to kiepski pomysł. Aplikacja akurat jest mała, ale taki worek na wszystko rośnie wkładniczo wraz ze wzrostem projektu. Helpery powinne wylądować w różnych klasach.

    if self.fullname.count(name) == 1:
        return True
    else:
        return False
   # rownowazne z:
   return self.fullname.count(name) == 1

Pass na koncu funkcji z cialem nie ma sensu i od razu funkcja tab_type powinna zawsze cos zwracac.

Elif po returnie jest niepotrzebny. Zastąp go zwykłym ifem.

Podobnie tutaj:

        if result is True:
             ...
        elif result is False:

Jesli nie weszlismy do ifa to wiadomo ze result jest False, wiec nie trzeba tego znow sprawdzac. Zmien elif na else. Dzięki temu będzie mógł pozbyć się nic nie znaczącej zmiennej result:

if Helpers.check_exist_filename(self, filename):
...
else:
def find_way_to_file(file):
    return os.path.abspath(os.path.join(os.path.dirname(__file__), file))

Przez __file__ uzależniasz sie od tego gdzie lezy plik FileHelper.

Poczytaj coś o prywatnych składowych: https://stackoverflow.com/questions/1301346/what-is-the-meaning-of-a-single-and-a-double-underscore-before-an-object-name https://www.programiz.com/python-programming/property

+1 głos
odpowiedź 2 stycznia 2019 przez Secrus Nałogowiec (32,880 p.)
Pierwszy code review to użycie pakietu pycodestyle. Pokaże Ci on wszystkie błędy związane ze standardem pisania kodu w Pythonie.
komentarz 2 stycznia 2019 przez Piotr Jasiński Bywalec (2,120 p.)

Do sprawdzania tego czy piszę w miarę według tego jak się powinno używam Wbudowanego w PyCharma ;) 

Ale jednak nie ma to jak rady osób które siedzą w tym dłużej i mogą zwrócić uwagę na to czy kod można skrócić albo czy jest w miarę czytelny :)

komentarz 2 stycznia 2019 przez Secrus Nałogowiec (32,880 p.)
Ja nie używam Pycharma, często w vimie piszę i z terminala sprawdzam poprawność, dlatego o tym wspomniałem
komentarz 2 stycznia 2019 przez Piotr Jasiński Bywalec (2,120 p.)

Nie no ok i tak dzięki że mi powiedziałeś o tym bo nie znałem smiley

 

Podobne pytania

0 głosów
1 odpowiedź 273 wizyt
pytanie zadane 11 października 2020 w Nasze projekty przez Szyszka Gaduła (3,490 p.)
0 głosów
1 odpowiedź 281 wizyt
pytanie zadane 30 lipca 2019 w Nasze projekty przez mi-20 Stary wyjadacz (13,190 p.)
0 głosów
1 odpowiedź 155 wizyt
pytanie zadane 16 czerwca 2019 w C i C++ przez amelia.cpp Obywatel (1,860 p.)

92,454 zapytań

141,262 odpowiedzi

319,099 komentarzy

61,854 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.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...