Wątek przeniesiony 2017-10-11 21:22 z Off-Topic przez furious programming.

VfNotes - program do szybkich notatek.

0

Witajcie, napisałem w C++ z użyciem Qt program do szybkiego i wygodnego zarządzania notatkami. Po lewej stronie znajduje się lista z notatkami, po prawej pole do edycji notatki. Program ten z założenia ma pomóc szybko i wygodnie zarządzać krótkimi notatkami, szybciej niż z użyciem notatnika. Jego obsługa jest też w tym celu uproszczona do maksimum. Jak ogólnie oceniacie program pod względem praktycznego użycia oraz jakości kodu?
Kod źródłowy: https://github.com/arkadiusz97/VfNotes
Skompilowany program: https://drive.google.com/file[...]MSKkbPwjBTzh1bVMyZF8zWmM/view
zdjęcie

0

No cóż, Evernote, czy OneNote mi tym nie wygryziesz ;p
Jest spoko, ale apka prosi się przede wszystkim o skróty klawiszowe.

5

Techniczne:

  1. Zakomentowany kod - po to masz podpięty system kontroli wersji, że w razie potrzeby w historii zajrzysz co tam było - naprawdę do prezentacji nie jest on kompletnie potrzebny.
  2. Za bardzo oszczędzasz na białych znakach, np. tu: stream<<ui->plainTextEditContent->toPlainText().toUtf8()
  3. Kod sam się komentuje, jeśli wszystko pakujesz w funkcje i metody z sugestywną nazwą - ty masz wszystko upakowane w eventy.
  4. Testy, testy

Nietechniczne:

  1. Nie dostarczyłeś screenów, szkoda - sam nie zamierzam nic pobierać, a tak mógłbym zobaczyć jak aplikacja wygląda
  2. Angielski z README jest na niezbyt wysokim poziomie (ucięty phrasal verb allow to i inne).

Co do użyteczności: Gratuluję, napisałeś notatnik. Nie wiem czy miałeś kiedyś styczność z programami do notatek ale na dzień dzisiejszy są one czymś więcej niż notatnikiem.

Nie jestem pewien czy proszenie o recenzję 100-linijkowych projektów to dobry pomysł.

0

@spartanPAGE Jak będę w domu, to wrzucę screeny. Co do tego czy widziałem program do notatek, to pisałem ten program wzorując się trochę na pewnej aplikacji na Androida do takich notatek. Co też miałeś na myśli z pierwszym punktem? To, że komentarzy do kodu nie dodałem? W każdym razie, dzięki za uwagi.

3

Hmm... nie wiem jak w C++, bo to już jednak trochę dla mnie przeszłość ale zauważa się takie napakowanie wszystkiego do klasy MainWindow. W zasadzie wszystko wrzucone jest do jednej tzw. god class i o ile w tak małym projekcie nie ma problemu to w dużych to się naprawdę mocno mści. Wiem z autopsji.

Można by oddelegować jakąś klasę do obsługi plików, jakąś jeszcze inną np. do kolorowania składni etc... Miałbyś takie moduły, które mógłbyś dopisywać :)

0

@grzesiek51114: Jak by można było rozplanować takie dodatkowe klasy? Użyć jednego obiektu klasy do wczytywania plików, innego obiektu do zapisu, gdzie podawałoby się np. nazwę notatki i jej treść? O to chodzi?
@spartanPAGE: Dodałem screen.
Dzięki za uwagi. W wolnej chwili wprowadzę te zmiany :)

0

Wyobraź sobie co byś zrobił gdybyś musiał np. szybko zmienić widok i podłączyć do niego całe zarządzanie danymi. Zwyczajnie masz zrobić inne GUI, a wszystko inne ma działać tak jak teraz.

0

@grzesiek51114: Aha, czyli nie zmieniać samego mechanizmu działania programu, tylko zrobić inny interfejs graficzny?

1

Przykład: dostarcz widokowi np.: jeno listę notatek, a cała reszta niech się dzieje pod spodem.
Chodzi o to żeby dostarczyć jedynie "interfejsy" dla widoku. Nie implementować logiki w widoku, tak jak masz teraz, a korzystać z "interfejsów" dostarczanych przez klasy realizujące logikę. Enkapsulacja logiki "biznesowej" generalnie.

Interfejsy czyli np. metody publiczne.

0

@grzesiek51114: Czyli po prostu zrobić to tak, że np. wczytywanie nazw plików do listy zrobić w jednej metodzie klasy, a w drugiej metodzie zrobić wczytywanie danych z listy z nazwami plików do graficznej listy widocznej dla użytkownika?

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0