Cześć,
wziąłem się za pewien projekt. Chcę się do niego przyłożyć bo chcę mieć co pokazać na rozmowie o staż czy jakieś praktyki. <ort>Dla tego</ort> też tworzę ten wątek i proszę w miarę możliwości o code review. Wiem, że tego dużo, ale za każdą konstruktywną krytykę będę wdzięczny.
Teraz trochę więcej o projekcie
Hide Me Fatty to program do ukrywania plików na partycjach z FAT32. Pliki są ukrywane w wolnym miejscu za plikami na partycji.
Sposób działania
Wybieramy pliki do ukrycia. Potem wybieramy za jakimi plikami na partycji chcemy je ukryć. Na podstawie wybranych plików na partycji obliczamy ziarno, które posłuży do pomieszania plików do ukrycia. No i je ukrywamy.
Znajdowanie działa bardzo podobnie, więc nie będę opisywał.
Trochę o kodzie
Od razu zaznaczam, że taki main jest przejściowy. Cały, razem z tym wpisywaniem po kolei ścieżek do plików itp. Służy on za tymczasowy interfejs, żeby program działał. Mam zamiar w najbliższym czasie dorobić GUI w QT, ale najpierw chciałem, żeby była funkcjonalność czyli ukrywanie i znajdowanie.
Nie będę też dokładnie opisywał wszystkich klas i metod bo to bez sensu.
Cała magia dzieje się w
FileHider.cpp::FileHider::hideFiles()
i FileHider.cpp::FileHider::restoreMyFiles()
. Tam są przekazywane wszystkie ścieżki i to w sumie jest cały silnik.
**__Używanie__**
Dużo jest napisane w README po ściągnięciu. Jest też przykład jak się chowa i jak znajduje pliki, więc nie będę wprowadzał redundancji.
**__Platforma__**
Program działa pod linuxem. Testowałem go na 64-bitowym ubuntu 14.04. Szczerze powiem, że na 32-bitowym nie uruchamiałem, ale w najbliższym czasie mam zamiar. Jeżeli jednak ktoś chcę to będę wdzięczny za info czy jest ok czy nie.
**__Testy__**
No właśnie. Jeżeli ktoś będzie miał chwile czasu i starego pendrive'a to będę wdzięczny za każde uruchomienie programu. Jeżeli już ktoś się zdecyduje to niech uruchamia wersję z folderu "release-logs". Produkowane tam są logi, dzięki którym będzie mi łatwiej znaleźć przyczynę (ewentualnego) błędu. Jak komuś uda się wysypać grubaska (co pewnie nie będzie trudne) to prosiłbym o te logi właśnie :).
**__Znane błędy__**
Póki co wiem o jednym błędzie.
Gdy chcesz odtworzyć pliki i wybierzesz pliki na partycji, za którymi nic nie ukrywałeś to się posypie.
Naprawię to na następną wersję.
**__Code review__**
Jak pisałem wcześniej będę wdzięczny za każdą konstruktywną krytykę co do kodu. Nawet bardziej mi na tym zależy niż na testowaniu i logach.
**__Linki__**
Repo: https://github.com/stryku/HideMeFatty
Do ściągnięcia: https://sourceforge.net/projects/hidemefatty/
**__TODO__**
-GUI w QT
-Podział na klasy menadżerów systemów plików
-Dodanie obsługi innych systemów plików
-Live cd z programem
**__Changelog__**
v0.3 22.03.15
-Spent hours: 58
-Hiding more than one file
-Can hide files with the same name. Serial number will be added durning restoration.
-Generating logs
-Still console but more user-friendly
-Added licence
-Added readme
-Created git repo
v0.1 04.03.15
-Hiding single file. Working only if on partition root directory is file, and after file is enough space to hide your file.