2010-11-16 14 views
5

Poprzedni programista pozostawił witrynę w stanie nienadającym się do użytku i mam problem z modyfikacją czegokolwiek. Jestem nowy w projektowaniu stron internetowych, więc nie wiem, czy moje umiejętności są niedopasowanie do tego rodzaju pracy, czy jest to normalne w prawdziwym branży mają strony internetowe, takie jak teProblemy z aplikacją WWW

  1. Strona główna zawiera trzy ramki
  2. Każda z tych klatek mają swoje własne funkcje javascript (między <head>, a także wywoływać inne typowe funkcje javascript (używając <script src=..>
  3. Nadmierne korzystanie z document.all. - w rzeczywistości elementy określane są albo dostępne przez document.all tylko
  4. Nadmierne korzystanie z XSLT i usług internetowych - chociaż wiem, że używamy We b Usługi są generalnie uważane za dobry wybór - czy istnieje inny sposób korzystania z tych usług poza używaniem xslt. Na przykład menu jest tworzone przy użyciu danych zwracanych przez metodę WWW.
  5. Każdy <div>, <td> i każdy inny element ma identyfikator, a te identyfikatory są manipulowane przez funkcje JavaScript, a następnie jakiś odpowiedni serwis internetowy oraz plików XSLT są ładowane na podstawie tych ..
  6. Z punktu widzenia bezpieczeństwa, użył T-SQL's for xml auto dla większości danych, które są zwracane przez usługę internetową - czy jest to dobry wybór z punktu widzenia bezpieczeństwa, aby ujawnić nazwy tabel i nazwy kolumn użytkownikowi końcowemu?

Jestem bardzo zdezorientowany stanem samej aplikacji. Czy powinienem dowiedzieć się o zawiłościach, które opracował i kontynuować pracę nad nim, czy też powinienem zacząć wszystko przepisywać? Często wprawia mnie w zakłopotanie brak alternatyw - i czy jest to powszechny sposób, w jaki projekty internetowe są obsługiwane w rzeczywistym świecie, czy też był to wyjątek?

Wszelkie sugestie, wszelkie wskazówki są mile widziane. Dzięki

+0

Czuję twój ból, bracie. – DOK

+0

Nie brzmi dla mnie tak, jakby używało to środowiska asp.net, ponieważ było to zamierzone. Więc jeśli moja opinia oznacza coś, co silnie rozważałbym inną architekturę. –

+0

@DOK .. dzięki ... – Sekhar

Odpowiedz

3

Nie, nie jest dopuszczalne w tej branży, że ludzie piszą kod nie do utrzymania.

Moja rada dla ciebie jest pójście w górę łańcucha i przekonać wszystkich, że to musi być przepisane. Jeśli pytają cię, znajdź zewnętrznego konsultanta z odpowiednimi umiejętnościami w zakresie tworzenia stron internetowych, aby przejrzeć aplikację (przez 1 dzień).

Prowadzenie tej strony internetowej tak jak jest, ponieważ "działa" to jak utrzymywanie działającego modelu Ford-T na dzisiejszych autostradach, bardzo niebezpieczne. Koszty bezpieczeństwa i konserwacji to najprawdopodobniej najbardziej przekonywujące tematy, które przekonałyby każdego, kto nie utrzyma tej witryny "tak jak jest".

Następnie, naucz się, to się opłaci, jeśli możesz napisać tę aplikację, znając podstawy. Dzisiejsza technologia (asp.net MVC) pozwala na szybsze wdrażanie podstawowej wartości biznesowej niż próba utrzymania tej niekonwencjonalnie napisanej aplikacji.

+0

Nie jest rozsądnym pomysłem przepisanie kodu od nowa. Oto jeden dobry wpis na blogu Joela Spolsky'ego: http://www.joelonsoftware.com/articles/fog0000000069.html Zawsze lepiej jest zmienić kod, a następnie przepisać go od nowa. –

+1

Sądzę, że należy tu również powstrzymać ruch. Bardzo trudno jest czytać kod prawie zawsze. Tylko dlatego, że nie możesz tego zrozumieć, nie oznacza, że ​​coś jest z tym nie tak :) – willcodejavaforfood

+0

Biorąc pod uwagę kontekst: 1) programista po lewej + 2) niestabilna strona internetowa + 3) niedoświadczony nowy programista + 4) .net 1.1 ?? przepisać od podstaw to najlepsza opcja. Refaktoryzacja takiej strony wymagałaby wysoko wykwalifikowanego specjalisty. Wysokie ryzyko zerwania strony i spędzenia większej ilości czasu i pieniędzy, próbując doprowadzić ją do stanu możliwego do utrzymania, z pewnością złamałoby czyjeś morale, aby nadal rozwijać tę stronę. Więc na ten plakat moja odpowiedź brzmi: Próba na wszystkie możliwe sposoby, aby biznes widział oczywistą wartość w budowaniu witryny od zera. – Rudi

2

Trudne miejsce dla niedoświadczonego programisty (lub jakiegokolwiek innego), którego należy pozostawić. Wydaje mi się, że masz kilka ciężkich tygodni na głowie, gdzie naprawdę musisz przeczytać informacje o stosowanych technologiach, aby lepiej je zrozumieć. i jaka jest najlepsza praktyka. Będziesz także musiał naprawdę zagłębić się w istniejący kod, aby zrozumieć, jak to wszystko się wisi.

Kiedy już wszystko zrobisz, naprawdę musisz pomyśleć o swoich opcjach. Zwykle ponowne pisanie czegoś od zera (zwłaszcza jeśli to działa) jest złym pomysłem. To oczywiście zależy od wielkości projektu, w przypadku mniejszych projektów z zaledwie kilkoma tysiącami linii kodu może być OK. Kiedy patrzy się na kod kogoś innego, łatwo jest przeoczyć, że wszystkie te dziwne rzeczy mogą być poprawkami dla ważnych wymagań. Sprawy często zaczynają wyglądać schludnie, ale wtedy przychodzą prawdziwe słowa.

Będziesz musiał przedstawić firmę z oszacowaniem czasu na ponowne napisanie, aby sprawdzić, czy jest to opcja w ogóle, ale zgaduję, że musisz zaakceptować sposób, w jaki jest i jak najlepiej z tym, co masz . Może mógłbyś stopniowo ulepszyć rzeczy.

1

Polecam przeniesienie projektu do MVC3 i przepisanie części XSLT w celu użycia widoków i/lub widoków częściowych z MVC. Składnia wiążąca model Razor jest bardzo czysta i powinna być w stanie szybko odciąć brudny kod XSLT i pozostawić tylko te właściwości modelu, których potrzebujesz.

Chciałbym wtedy wywoływać te usługi sieciowe z serwerów MVC i deserializować wyniki obiektów do rzeczywistych obiektów (lub nawet używać prostych operacji XQuery lub Json, aby bezpośrednio wyciągnąć dane dla twojego modelu) i związać je z twoimi modelami. widoki.

Może to być jednak dość olbrzymi skok technologiczny w Twojej firmie. Niektóre miejsca mają awersję do zmian.

+0

Dziękuję za odesłanie tych technologii. użyłem trochę MVC, ale nigdy nie słyszałem Razora .. i nigdy nie korzystałem z XQuery, ale będę na bieżąco. Dzięki. – Sekhar

0

Przypuszczam, że zostało to napisane 6-7 lat temu i od tego czasu zostało zhakowane. Każdy projekt gromadzi pewną ilość gumy balonowej i taśmy klejącej. Wygląda na to, że jest źle. Proponuję podzielić to na fragmenty o rozmiarze bitu. Zakładam, że strona faktycznie działa teraz? Więc nie chcesz niczego łamać, "biznes" często myśli: "działało dobrze, kiedy był tu ostatni facet".

Poczuj największe problemy z utrzymaniem projektu i największe wygrane z naprawy. Przepis jest świetny, jeśli masz czas i wsparcie. Ale jeśli jest to złożona strona, wiele można powiedzieć o dojrzałej aplikacji. Dojrzały w tym sensie, że spełnia potrzeby biznesowe, a nie, że to dobry kod.

Ponadto, praca nad małymi częściami pozwoli lepiej poznać projekt i potrzeby biznesowe, więc kiedy zaczniesz przepisywanie, będziesz miał lepszą perspektywę.

Powiązane problemy