Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
pl:miw:2009:miw09_hqed_audit_1 [2009/10/14 12:56]
jsi08
pl:miw:2009:miw09_hqed_audit_1 [2019/06/27 15:50] (aktualna)
Linia 28: Linia 28:
  
 Kompilacja Qt4 jest bardzo czasochłonna,​ na moim komputerze zajmowała nawet do 13h (dla wersji 4.5.2, pełna kompilacja z przykładami). ​ Kompilacja Qt4 jest bardzo czasochłonna,​ na moim komputerze zajmowała nawet do 13h (dla wersji 4.5.2, pełna kompilacja z przykładami). ​
- 
- 
 ==== Audyt kodu ==== ==== Audyt kodu ====
  
 === Dostęp do CVS-a === === Dostęp do CVS-a ===
-Dużym utrudnieniem dla projektu był problem z dostępem do CVS-a. Quota na koncie na Charonie była mniejsza niż zajmował cały kod źródłowy na CVS-ie. Dodatkowo w pewnym momencie dostęp ten został zablokowany. Brak pełnego dostępu do CVS-a spowodował,​ że z pewnych rzeczy ​trzeba było zrezygnować ​jakbezpośrednie poprawianie ostrzeżeń kompilacjiczy jakiekolwiek zajmowanie się komentarzami.+Dużym utrudnieniem dla projektu był problem z dostępem do CVS-a. Quota na koncie na Charonie była mniejsza niż zajmował cały kod źródłowy na CVS-ie. Dodatkowo w pewnym momencie dostęp ten został zablokowany. Brak pełnego dostępu do CVS-a spowodował,​ że z pewnych rzeczy ​- takich ​jak bezpośrednie poprawianie ostrzeżeń kompilacji czy jakiekolwiek zajmowanie się komentarzami ​- trzeba było zrezygnować.
  
 === Analiza ostrzeżeń kompilacji === === Analiza ostrzeżeń kompilacji ===
Linia 46: Linia 44:
  
 == niebezpieczna konwersja == == niebezpieczna konwersja ==
-Kompilator wskazał 12 linijek z tym błędem, jednak sprowadzało się do zmiany w 2 linijkach:+Kompilator wskazał 12 linijek z tym błędem, jednak sprowadzało się do zmiany w 2 linijkach ​kodu:
  
   było: char* cFormats[] = {"​...",​ "​...",​ "​...",​ "​..."​} ​   było: char* cFormats[] = {"​...",​ "​...",​ "​...",​ "​..."​} ​
Linia 54: Linia 52:
  
 == niezainicjowana zmienna == == niezainicjowana zmienna ==
-11 wystąpień. Tu trzeba zainicjować zmienną, ustawić na 0, NULL lub jakąś inną początkową wartość.+11 wystąpień. Tu trzeba ​było zainicjować zmienną, ustawić na 0, NULL lub jakąś inną początkową wartość.
  
 == Błędne nawiasowanie == == Błędne nawiasowanie ==
Linia 112: Linia 110:
  
 Jedyny błąd kompilacji okazał się zależny od wersji qt. Skompilowanie programu w wersji qt 4.3.0 i niższej: 4.2.3 błędu nie pokazuje, natomiast pojawia się on przy wersjach 4.4.3 i wyższych. Błąd pojawiał się w pliku generowanym automatycznie z plików QTDesignera. Po edycji tych plików, problem zgodności został rozwiązany. ​ Jedyny błąd kompilacji okazał się zależny od wersji qt. Skompilowanie programu w wersji qt 4.3.0 i niższej: 4.2.3 błędu nie pokazuje, natomiast pojawia się on przy wersjach 4.4.3 i wyższych. Błąd pojawiał się w pliku generowanym automatycznie z plików QTDesignera. Po edycji tych plików, problem zgodności został rozwiązany. ​
- 
 ==== Testowanie Aplikacji ==== ==== Testowanie Aplikacji ====
  
Linia 124: Linia 121:
 == Thermostat == == Thermostat ==
  
-Zbudowałem model termostatu na podstawie już dobrze opisanego sytemu:​[[hekate:​hekate_case_thermostat]]. Ponieważ został już ten problem ​tam dość dobrze opisany dodam tylko, że zmieniłem miesiące ​aby odpowiadały porom roku na półkuli północnej.+Zbudowałem model termostatu na podstawie już dobrze opisanego sytemu: [[hekate:​hekate_case_thermostat]]. Ponieważ ​problem ten został już tam dość dobrze opisanydodam tylko, że zmieniłem miesiące ​tak, by odpowiadały porom roku na półkuli północnej.
  
 Wykonanie w HQEd (screen): Wykonanie w HQEd (screen):
Linia 136: Linia 133:
 == ATM == == ATM ==
  
-Zbudowałem model bankomatu zarówno na podstawie już stworzonego modelu (dostępnego w aplikacji) jak i na podstawie własnych pomysłów. Jako dane wejściowe przyjąłem:​ pin wprowadzony przez użytkownika,​ prawidłowy pin z bazy danych, deklarowaną kwotę do wypłacenia,​ dostępne środki na koncie ​jak i w bankomacie. Na podstawie tych danych daje jedną z odpowiedzi: wypłacenie kwoty, nieprawidłowy pin, brak środków na koncie, brak środków w bankomacie.+Zbudowałem model bankomatu zarówno na podstawie już stworzonego modelu (dostępnego w aplikacji) jak i na podstawie własnych pomysłów. Jako dane wejściowe przyjąłem:​ pin wprowadzony przez użytkownika,​ prawidłowy pin z bazy danych, deklarowaną kwotę do wypłacenia,​ dostępne środki na koncie ​oraz w bankomacie. Na podstawie tych danych ​program ​daje jedną z odpowiedzi: wypłacenie kwoty, nieprawidłowy pin, brak środków na koncie, brak środków w bankomacie.
  
 Wykonanie w HQEd (screen): Wykonanie w HQEd (screen):
Linia 147: Linia 144:
  
 === Uwagi === === Uwagi ===
-  * Jeśli Podczas zapisywania pliku nie podamy rozszerzenia ('​.hml'​) w nazwie (aby ją edytor sam automatycznie dodał) zostanie utworzony plik o nazwie wydłużonej o '​hml'​ i bez roszerzenia. Dodatkowo z każdym zapisaniem będzie tworzył kolejny plik konkatenując nazwę o '​hml',​ zamiast zapisywać w starym. Jeżeli się ręcznie ​wpisze ​nazwę z rozszerzeniem '​.hml',​ nie ma tego problemu. Jest to zależne od sytemu na którym używa się aplikacji. +  * Jeśli Podczas zapisywania pliku nie podamy rozszerzenia ('​.hml'​) w nazwie (chcąc by edytor sam ją automatycznie dodał)zostanie utworzony plik o nazwie wydłużonej o '​hml'​ i bez roszerzenia. Dodatkowo z każdym zapisaniem ​program ​będzie tworzył kolejny plik konkatenując nazwę o '​hml',​ zamiast zapisywać w starym. Jeżeli ​wpisze ​się ręcznie nazwę ​wraz z rozszerzeniem '​.hml',​ nie ma tego problemu. Jest to zależne od sytemu na którym używa się aplikacji. 
-  * Nieintuicyjne ustawianie granic przedziału - należy najpierw zdefiniować dolny próg i dopiero wtedy zaznaczyć range (radio button cały czas aktywny) i podać górny próg w przeciwnym razie wyskakuje błąd; +  * Nieintuicyjne ustawianie granic przedziału - należy najpierw zdefiniować dolny próg i dopiero wtedy zaznaczyć range (radio button cały czas aktywny) i podać górny prógw przeciwnym razie wyskakuje błąd; 
-  * Program zawsze pyta czy zapisać zmianyniezależnie od tego czy nastąpiły;​+  * Program zawsze pytaczy zapisać zmiany ​niezależnie od tego czy nastąpiły;​
   * Mało ergonomiczny interfejs – trzeba wykonać dużą ilość kliknięć aby cokolwiek wykonać; ​   * Mało ergonomiczny interfejs – trzeba wykonać dużą ilość kliknięć aby cokolwiek wykonać; ​
-  * Wartość '​row'​ w 'cell editor'​ powinna zostać ograniczonazbyt duża powoduje zakończenie programu wyjątkiem;+  * Wartość '​row'​ w 'cell editor'​ powinna zostać ograniczona ​zbyt duża powoduje zakończenie programu wyjątkiem;
   * Zakończenie pracy aplikacji wyjątkiem podczas konstruowania skomplikowanego wyrażenia.   * Zakończenie pracy aplikacji wyjątkiem podczas konstruowania skomplikowanego wyrażenia.
   * Część przeznaczona do rysowania modelu zmienia swój rozmiar dopiero po ponownym wczytaniu modelu;   * Część przeznaczona do rysowania modelu zmienia swój rozmiar dopiero po ponownym wczytaniu modelu;
   * Tips na początku przyczepiony do nie wiadomo czego, poza oknem (może być to kwestia systemu na którym jest użytkowany);​   * Tips na początku przyczepiony do nie wiadomo czego, poza oknem (może być to kwestia systemu na którym jest użytkowany);​
  
-Program jest cały czas w trakcie tworzenia, więc tego typu uwagi często dotyczą rzeczy, których jeszcze nie zrobiono ​niż błędów. Część błędów zależy bezpośredni od platformy i zainstalowanej na niej wersji qt4.+Program jest cały czas w trakcie tworzenia, więc tego typu uwagi często dotyczą rzeczy, których jeszcze nie zrobiono, a nie błędów. Część błędów zależy bezpośrednio ​od platformy i zainstalowanej na niej wersji qt4.
  
  
pl/miw/2009/miw09_hqed_audit_1.1255517816.txt.gz · ostatnio zmienione: 2019/06/27 15:57 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0