StudentDiary - prosty organizer szkolny

6

Witam! Ucząc się programowanie w C# nie chciałem robić jakichś dupereli typu gra w statki, komunikator sieciowy. Wymyśliłem sobie organizer szkolny. Jako mój pierwszy trochę poważniejszy projekt pomysł nadawał się idealnie.

Prosiłbym o ogólną ocenę programu oraz ewentualne propozycje co do przyszłych funkcjonalności. Kodu źródłowego raczej się nikomu nie będzie chciało sprawdzać (niezły burdel tam jest).

Download:
Instalator (jak działa to masz farta): http://www.mediafire.com/?p9aldug78qmhwa1
Kod źródłowy: http://www.mediafire.com/?24cbua3zhj2k3vz

Screenshoty:
http://img839.imageshack.us/img839/3467/21918165.jpg
http://img695.imageshack.us/img695/4820/67828681.jpg
http://img825.imageshack.us/img825/6996/16874569.jpg

0

No fajne, tylko mam parę uwag:

  1. Mieszasz polski z angielskim w kodzie, np. metody DBInitialize i ZapiszBaze. Ładniej wszystko wygląda, gdy trzymamy się jednego języka.
  2. Co do konwencji jeszcze - nazwy klas, właściwości, metod warto pisać wielkimi literami.
  3. Jeśli jakąś liczbę lub napis wykorzystujesz wielokrotnie w kodzie, to warto zrobić sobie stałą. Potem łatwiej tą wartość zmienić.
  4. DBOperations.cs - początkowo myślałem, że masz tu oddzielną klasę, ale to jednak była zmyła. Czemu wszystko to wsadziłeś jako partial Form1? Ogólnie dobrze jest rozdzielać warstwę danych od warstwy GUI.
  5. Do przechowywania danych używasz DataSetu. Niby tak można, ale to takie relacyjno-strukturalne podejście. Nie myślałeś o zrobieniu tego obiektowo?
2

hmm, całkiem normalnie to wygląda
mniemam że to nie jest Twój pierwszy program w ogóle, tylko pierwszy w tym języku bo nie wygląda jak jakiś photoyebator

ale wątpię że ktokolwiek tego będzie używał (w takim stopniu w sprawy szkolne angażują się raczej osoby których nie chciałbym nazywać a takich jest zazwyczaj około jedna na klasę, ta jedna natomiast prędzej wolałaby napisać własny program pod swoje wymagania) więc zamiast sugerować zmiany i usprawnienia to sugeruję żebyś przyjął te dwa oto oklaski: klask, klask - i zaczął nowy projekt który ma szansę znaleźć jakichkolwiek użytkowników :)

1

@somekind
Ad. 1/2: ogólnie ten kod nie błyszczy jakością, a mieszanie języków to wynik sobotniego trybu pracy "napisz funkcję i fajrant".
Ad. 3: w większym projekcie takie coś ma sens.
Ad. 4: podzieliłem główną klase dopiero pod koniec tworzenia programu bo, krótko mówiąc, lepiej się pracuje na wielu plikach.
Ad. 5: myślałem nad tym. Wiem, że c# jest typowo obiektowy, ale po prosu nie widziałem sensu trzymania w pamięci dwa razy tych samych danych. A sama klasa DataSet jest dużo przystępniejsza niż XmlReader i pochodne.

@fddgdf
Zdziwiłbyś się - mam kilku chętnych na program. A jeżeli uważasz, że ten, kto chce się trochę pouczyć i ma ambicje dostać się do lepszej szkoły aniżeli zawodówka, to musi być od razu kujonem i no-lifem, to jesteś w błędzie.

0
scv444 napisał(a)

Zdziwiłbyś się - mam kilku chętnych na program. A jeżeli uważasz, że ten, kto chce się trochę pouczyć i ma ambicje dostać się do lepszej szkoły aniżeli zawodówka, to musi być od razu kujonem i no-lifem, to jesteś w błędzie.

ambicje to by miał jakby chciał założyć własną firmę i zarabiać miliony, a samo pójście do "lepszej szkoły aniżeli zawodówka" żeby w przyszłości zagrzać sobie miejsce w biurze to imo pójście po jednej z najmniejszych linii oporu - z ambicjami niewiele ma wspólnego, raczej z lenistwem
nie użyłem nigdzie słów "kujon" ani "no-life" - nawet o nich nie pomyślałem :/

dobra, rób sobie dalej ten dzienniczek ucznia, ja tylko próbowałem doradzić

1
scv444 napisał(a)

3: w większym projekcie takie coś ma sens.

Że co? Stałe tylko w większych projektach? :| Bajki opowiadasz.

Wiem, że c# jest typowo obiektowy, ale po prosu nie widziałem sensu trzymania w pamięci dwa razy tych samych danych.

Nie bardzo rozumiem... Jak to dwa razy?
Miałbyś po prostu w pamięci struktura powiązanych ze sobą kolekcji obiektów swoich własnych klas. Prawie tak jak teraz masz w DataSecie, ale dużo bardziej elastyczne i łatwiejsze do rozbudowy.

A sama klasa DataSet jest dużo przystępniejsza niż XmlReader i pochodne.

XmlReader? A po co? Wystarczy serializacja XML. Jedną linijką kodu zapisujesz i odczytujesz cały swój graf obiektów z i do pliku.

0

A może tak zacząć od podstaw inżynierii oprogramowania.

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