Modernizować, czy pisać od nowa?

0

Piszę, bo sam juz nie wiem. Jakieś pół roku temu w firmie w której pracuję, przed audytem potrzebny, był na gwałt program do monitoringu produkcji. Na jego napisanie miałem mniej niż miesiąc. Później były drobne upgrady. Problem polega na tym, że z braku czasu napisałem go dosyć topornie. Brak uniwersalnych klas, silnika bazy danych i <ort>w ogóle</ort> lipa. Program działa ok, ale jego konserwacja to koszmar. Teraz mam czas na pisanie nazwijmy "v2.0", ponieważ pierwszy działa. I tu pytanie. Czy zmodernizować to co już mam, czy na podstawie pierwszego napisać następcę. Ja poszedłbym w myśl prawa Murphy'ego: "Jeżeli coś zostało źle zrobione od samego początku, wszelkie próby ort! tylko to pogorszą".

Jeżeli mozecie wypowiedzieć się w tej kwestii, to będę zobowiązany.

0

Chyba trudno cos powiedziec.
Nie znamy objetosci i zlozonosci tego programu. Totez nie mozemy okreslic stosunku czasu do efektu jaki daloby napisanie tego od nowa.

Ale jesli program ma sluzyc wiele lat to moze warto poswiecic kilka dni. Moze calkiem sporo kodu da sie przeniesc do nowej wersji. Ale to musisz ocenic Ty.

0

ja już miałem taką sytuację, postanowiłem napisać program od nowa, i tak przy niektórych sprawach zniechęciła mnie myśl pisania jakiejś funkcji od nowa, w rezultacie przeniosłem ogromne płachty kodu i można powiedzieć że jeszcze bardziej pogorszyłem sprawę ;P

0

Ja również mam poprzeklejane połacie kodu, co powoduje, że już się w nim gubię. Na sugestię Codera dokładniejszy opis zagadnienia i skali problemu (program ma około 9000 wierszy i rośnie):

Program słuzy do monitorowania produkcji. Dane wprowadzam do tabeli:
user image
Dzięki temu mam opisaną jedną zmianę. Szefa interesują głownie statystyki typu: ile dobrych, jakie błędy najczęściej, który operator najgorszy itp. I tu się pijawia powielanie fragmentów, bo wykresy tworzę wg:
1). Operator
2). Brygada
3). Miesiąc
4). Powierzchnia wystąpienia błedu
5). Maszyna

Różnią się tylko kwerendą. Graficzna reprezentacja jest taka sama, czyli:
user image
user image
user image

Na rapidshare zamieściłem jeden moduł liczący wg operatora: NameSheet

0

Ja bym sie zastanowil czy nie wykorzystac do tego PHP i MySQL bo imo to srodowisko stworzone do tego typu rzeczy :)

0

Z własnego doświadczenia powiem Ci, że lepiej będzie gdy napiszesz program od nowa. Zrób mały plan co i jak ma działać i możesz nawet przekopiowac niektóre części starego programu byle pasowały do obranego schematu ( oczywiście tam gdzie to możliwe ). Moje próby poprawienia programu napisanego byle jak zwykle skutkowały wystąpieniem większego problemu - coś gdzieś zostało zmienione i nie współdziałało z resztą a żeby znaleźć to coś trzeba było się troszkę nagłowić. Mimo to wydaje mi się, że tworzenie oprogramowania to sprawa indywidualna, bo każdy ma swoje nawyki i przyzwyczajenia. Dlatego najlepiej żebyś sięgnął pamięcią wstecz i przypomniał sobie czy kiedykolwiek miałeś już taki problem.

0

Miałem. I zastosowałem prawo Murphi'ego: "Jeżeli coś zostało źle zrobione od samego początku, wszelkie próby naprawienia tylko to pogorszą" Prace nad nowym programem zostały rozpoczęte. Do posta można się nie dopisywać. Odpowiem na swoje pytanie: Pisać od nowa. Dzięki za zainteresowanie. Pozdrawiam. Adam.

0

Ja bym sie zastanowil czy nie wykorzystac do tego PHP i MySQL bo imo to srodowisko stworzone do tego typu rzeczy :)

Oleksy_Adam napisał(a)

" Program działa ok, ale jego konserwacja to koszmar. "

Jesli nie chcesz mieć w przyszłości podobnych problemów raczej nie pisz tego w php, jesli zacząłeś to masz czas by to zmienić.
To oczywiście moja subiektywna mało popularna opinia.

pzdro

0

Póki co to piszę bazę na własnym formacie, jestem na etapie nauki MySql i dbExpress. Wersja v3.0 będzie już w dbE.

0

Co do rozwijania programu to mialem taka sytuacje ostatnio ze dostalem aplikacje, ktora powstawala iles tam tygodni, miala pewne bugi, zero dokumentacji czy komentarzy w kodzie, zadnego planu, dziwne biblioteki i kod na kilka tysiecy lini... dwa tygodnie implementowalem rozszezona funkcjonalnosc, gdzie meczylem sie przy tym niemilosiernie... oczywiscie okazalo sie ze dalej sa jakies bug'i i przez tydzien ich szukalem z mizernym rezultatem (aplikacja walila sie w losowych momentach)... sie zdenerwowalem i udalo mi sie napisac wszystko od nowa w dwa tygodnie w C#, gdzie wszystko jest jasne i przejrzyste, udokumentowane i ze schemacikami i co najwazniejsze, dziala. Wiec przystaje raczej do tego, ze czasami szybciej cos napisze sie od nowa niz modyfikuje stare i nie do konca dobre rozwiazania...

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