Jak sprawić, by Classic ASP był interesujący, jeśli utkniesz z tym? [Zamknięte]


14

Pracowałem kiedyś w naprawdę małej firmie outsourcingowej (4 programistów i szefa), a potem, gdy stres i częste długie zmiany sprawiały, że sytuacja była nie do zniesienia, przestawiłem się na lepiej płatną pracę z bardziej zrelaksowanym harmonogramem, który pozwala mi trochę więcej czas wolny.

Problem polega jednak na tym, że w większości przypadków wszystko jest zakodowane w klasycznej ASP, która współpracuje z niestandardowym systemem kolejkowania C ++, który przechowuje wszystko w systemach AS400. Mój szef był jednym z programistów, którzy podjęli początkowe wysiłki w tym kierunku i oczywiście nigdy nie zatwierdzi przejścia na inne języki / technologie, pomimo rosnących trudności związanych z rozwijaniem dzisiejszych potrzeb biznesowych za pomocą wczorajszych narzędzi.

W najbliższej przyszłości bardzo mocno utknąłem przy kodowaniu Classic ASP i staram się znaleźć sposoby, aby uczynić go co najmniej interesującym, ponieważ wcześniej pracowałem z .NET i Javą i mam wrażenie, że idę wstecz ... Jakaś rada?


13
... zamień to w grę do picia? Działa w przypadku wielu złych filmów i programów telewizyjnych ...
FrustratedWithFormsDesigner

4
Myślę, że nie żyłby od zatrucia alkoholem w krótkim czasie ...
Wayne Molina

4
Kolejny pomysł: podziel się swoimi odkryciami na TheDailWTF.com, aby inni mogli wyrazić swoje współczucie.
FrustratedWithFormsDesigner

2
Kwestionuję tę przesłankę ... tak naprawdę niewielu ludzi, którzy myślą, że „utknęło w przewidywalnej przyszłości”, naprawdę. Jeśli nie jest to praca w więzieniu, istnieje wyjście, jeśli włożysz wysiłek w jej znalezienie. Jeśli nadal uważasz, że „utknąłeś”, wyobraź to sobie ... firma jutro przestaje działać. Czy nadal byłbyś „utknięty”? Jeśli nie, to dlaczego „utknąłeś” teraz?
JoelFan

1
„wszystko jest zakodowane w klasycznej ASP, która współpracuje z niestandardowym systemem kolejkowania C ++, który przechowuje wszystko w systemach AS400”. Będę miał o tym koszmary.
Tjaart,

Odpowiedzi:


27

Jak zauważyli inni, prawdopodobnie powinieneś albo spróbować zmienić zdanie szefa, albo znaleźć zatrudnienie tam, gdzie nie musisz znosić tak zacofanej mentalności.

Jednak w międzyczasie możesz uczynić swoją pracę nieco bardziej interesującą, próbując przenieść dowolną funkcjonalność, którą możesz po stronie klienta i użyć wywołań asynchronicznych, aby wywołać pewne zdarzenia na serwerze. Pomyśl o tym jako o interfejsie HTML / JavaScript z Webservices (zaimplementowanym w klasycznej ASP) z tyłu. Opracowanie RESTful API może być ciekawym wyzwaniem, istnieją pewne narzędzia, takie jak parsery JSON dla Classic ASP, do przenoszenia danych tam i z powrotem w bardziej standardowy sposób, a szablony po stronie klienta pozwoliłyby sformatować dane otrzymane z twoich usług internetowych dla lepszej prezentacji. LinkedIn zrobił coś podobnego, aby ujednolicić różne technologie zaplecza.

Gdy masz interfejs API RESTful, możesz spróbować napisać niektóre zarządzane usługi sieciowe, aby emulować funkcjonalność istniejących funkcji klasycznej ASP.


4
+1 Świetna odpowiedź! Uczyń Classic ASP bardziej nowoczesnym! Możesz w końcu zrobić coś BARDZO wyjątkowego i sprytnego i wiele się nauczysz. Kiedy się uczę, nigdy się nie nudzę.
maple_shaft

@maple_shaft: Sztuczka ucieka od nauki na tyle długo, aby zrobić coś pożytecznego =).
R0MANARMY

Tak, właśnie takiej odpowiedzi szukałem. Tymczasem coś do zrobienia. Ponadto, dla innych facetów sugerujących szukanie innej pracy, wiem, że w końcu znajdę inną pracę, która odpowiada moim zainteresowaniom i nie będzie to trudny wybór, jeśli puka do moich drzwi.
Saul Delgado

11

Zanim zacznę, nie zajmę się kwestią, czy twój szef ma rację, nalegając na klasyczną ASP. Nie podałeś nam wystarczających informacji. Jeśli masz bardzo dużą część istniejącego kodu w klasycznej ASP, która jest wystarczająco dobra w 95%, i wykonujesz małe zadania konserwacyjne, to prawdopodobnie dobrym pomysłem jest pozostanie przy klasycznej ASP ... koszt przeniesienia wszystkiego do nowy język może być za wysoki. Jednak jeśli twój szef uruchamia nowe projekty w Classic ASP, cóż, nie ma na to usprawiedliwienia. Na środku jest cały zakres. Więc nie mam wystarczających informacji, żeby się nad tym zastanowić i nie będę się tym przejmować.

Ale chcę odpowiedzieć na twoje dokładne pytanie ... jak sprawić, by kodowanie było interesujące .

Jest interesującedobra rzecz w kodowaniu? Pamiętasz chińskie przekleństwo: „Czy możesz żyć w interesujących czasach?” Cóż, prawdopodobnie nie jest to chiński ... ale chodzi o to, czy wątpię, czy wszystkie formy programowania powinny być interesujące. Czasami chcesz, aby było to łatwe i zrozumiałe. Największe bałagany kodu, które kiedykolwiek musiałem wyczyścić, zostały spowodowane przez programistów, którzy są zmęczeni prostym, prostym sposobem robienia czegoś i muszą znaleźć sprytną funkcję językową, której nikt nigdy nie słyszał, tylko po to, aby pobudzić własny umysł. Pamiętam, że znalazłem 20 linii kodu C ++, których celu po prostu nie mogłem rozszyfrować. Okazuje się, że jest to jakaś subtelna sztuczka dewelopera, aby upewnić się, że niektóre zmienne zostały zainicjowane na 1, jeśli zapomniałeś je zainicjować. To było śmieszne, a chłopiec interesujący. Ale zmarnowało wszystkich ”

Pisanie większości codziennego kodu w „nudnym” języku ma wiele zalet. Oznacza to, że możesz użyć mózgu, aby pomyśleć o domenie aplikacji, zamiast próbować dowiedzieć się, dlaczego najnowsza funkcja języka, którą właśnie wymyśliłeś, nie działa w oczekiwany sposób. Zwykle możesz pracować o wiele szybciej, jeśli całkowicie rozumiesz swój język i jego biblioteki. A to oznacza, że ​​możesz wykorzystać swoje cykle mózgowe do czegoś takiego, jak myślenie o uczynieniu swojej aplikacji bardziej interesującą, bardziej przydatną, zyskowną lub użyteczną.

Aby zachować czujność, wykorzystaj swój wolny czas na naukę nowych, interesujących języków. Pracuj nad projektami typu open source lub pracuj nad własnymi projektami.

Pamiętaj, że nie bronię korzystania z klasycznej ASP i nie twierdzę, że warto go używać, ponieważ jest „nudny”. Jeśli uważasz, że cnotą jest używanie „interesującego” środowiska programistycznego, więcej mocy dla ciebie ... ale skupiasz się na niewłaściwej rzeczy. Dobry rzeźbiarz nie chce ciekawego dłuta ... który mógłby przeszkodzić w tworzeniu ładnych posągów. Dobry malarz nie szuka „interesujących” pędzli. Mogą wygłupiać się z interesującymi narzędziami, ale zrobią co w ich mocy, używając najbardziej nudnych narzędzi - narzędzi, które są tak nudne, że znikają i pozwalają artyście pracować nad sztuką.


3
Uważam, że pytanie nie było skierowane konkretnie na ciekawe cechy danego języka, ale raczej zgodnie z tym, co mogę zrobić, aby z niecierpliwością oczekiwać codziennej pracy? W tym kontekście warto zrezygnować z kodowania i zapytać, w jaki sposób mogę uczynić tę aplikację bardziej interesującą, użyteczną, zyskowną lub użyteczną? jest na miejscu. Nie tyle artysta używa ciekawego pędzla do malowania, co raczej szuka interesujących przedmiotów do malowania.
R0MANARMY

Powiedziałeś „bardziej interesujące, bardziej przydatne, bardziej opłacalne lub bardziej użyteczne”. Zastanawiam się, ile osób zatrudnionych jako programiści może pracować nad tymi aspektami oprogramowania? Sądzę, że tylko jeśli jesteś właścicielem całości lub części projektu lub pracujesz na starcie, możesz ich dotknąć. Z mojego doświadczenia wynika, że ​​w większości środowisk decyzje te są pozostawione innym podmiotom, głównie kierownictwu lub menedżerom.
aceinthehole

7

Czujesz, że cofasz się, bo tak jest . Nie ma innej rady niż znaleźć firmę, która nie tkwi w ciemnych wiekach. W dzisiejszych czasach nie ma absolutnie żadnego powodu, aby trzymać się Klasycznej ASP; w rzeczywistości powiem wprost, że wybranie trzymania się Classic ASP będzie cię w przyszłości boleć , ponieważ A) Twoje umiejętności .NET i Java zanikną i B) Dla potencjalnego przyszłego pracodawcy pracujesz na Classic ASP, technologii to było przestarzałe od ponad 10 lat i nawet wtedy przypominało ciągnięcie zębów; innymi słowy, nie masz odpowiedniego doświadczenia. Wygląda na to, że źle wybrałeś.

Z Classic ASP możesz zrobić tyle, a wszystko to jest bardzo bolesne.


4
PO wskazuje, że właśnie tak utknął w co najmniej dającej się przewidzieć przyszłości, więc zasugerowanie, że odejdzie, nie jest pomocne. Wskazanie wszystkich sposobów, w jakie uważasz, że jego sytuacja jest okropna, jest jeszcze mniej pomocne. 10 lat temu był rok 2001, około rok przed wydaniem .Net Framework 1.0, więc klasyczny asp nie był już przestarzały.
Gratzy

2
@Gratzky nie, ale nawet wtedy była to okropna technologia. Zdecydowanie gorszy od dwóch głównych alternatyw: PHP i JSP
Sean Patrick Floyd

6

Naucz się wybranego przez siebie nowoczesnego języka i użyj go do stworzenia narzędzia, które generuje dla Ciebie strony ASP i klasy, na przykład poprzez inżynierię wsteczną z docelowej bazy danych. To z pewnością sprawi, że będzie to interesujące.


Przychodzi mi na myśl T4 , ale chyba wystarczyłby każdy silnik szablonów.
R0MANARMY

1
Zrobiłem coś takiego. Użyłem Ruby do generowania procedur przechowywanych i klas dostępu do danych na podstawie definicji tabel bazy danych.
Larry Coleman

@Larry Coleman: Masz na myśli coś podobnego do migracji
R0MANARMY

@ R0MANARMY: Tak, ale wtedy nie było Railsów.
Larry Coleman

5

Dlaczego miałbyś kiedykolwiek utknąć w starej technologii? Firmy cały czas migrują technologie. Sztuką jest podanie listy powodów, dla których przejście na nowszą technologię jest korzystne dla firmy - zarówno z technicznego, jak i biznesowego punktu widzenia. Więcej razy, koszty początkowe migracji stosów technologii znacznie przewyższają przyszłe koszty rozwoju.

Nawet jeśli z jakiegoś niejasnego powodu okaże się, że nie można zmienić stosów technologii, zawsze możesz użyć obecnych narzędzi i technologii, aby uczynić swoje życie starszymi technologiami bardziej znośnymi.

Jeśli twój szef jest jednym z pierwszych twórców projektu i nie chce zmieniać technologii wyłącznie na podstawie faktu, że jest twoim szefem i wie lepiej od ciebie, to najprawdopodobniej szukałbym nowej pracy - nie chcesz utknąć w środowisku, w którym twoje przywództwo jest krótkowzroczne. Nie twierdzę, że przekonanie go będzie łatwe, ponieważ jestem pewien, że w ich dziecko zainwestowano wiele lat pracy, a przyznanie się do zmiany jest ogromnym ciosem dla „ole ego”. Musisz upewnić się, że masz jasne , zwięzłe i mierzalne powody, dla których wymagana jest migracja, w której prawie postawiłoby to twojego szefa w sytuacji, w której nie migracja byłaby oczywiście złą decyzją.

Powodzenia.


Wiem, że nie ma powodu, aby trzymać się starej technologii, nawet niestandardowe ramy, których tu używamy, są uciążliwe w użyciu i nie oferują nawet połowy korzyści z jakichkolwiek komercyjnych ram programistycznych. Pamiętam, że gdzieś tu słyszałem, że fakt, że został wyprodukowany we własnym zakresie, dodaje warstwę zaciemnienia, którą można postrzegać jako środek bezpieczeństwa, ale szczerze mówiąc, nie kupuję tego.
Saul Delgado

2
@ reno812, Bezpieczeństwo przez zaciemnienie wcale NIE jest bezpieczeństwem. To tak, jakby tylne drzwi twojego domu wisiały szeroko otwarte i mówiły, że twój dom jest bezpieczny, ponieważ te drzwi nie są skierowane na ulicę.
maple_shaft

Wiem, że tak nie jest, aby dać wam wyobrażenie o mentalności tutaj.
Saul Delgado

3

Pracuję również z klasyczną ASP w pracy i udało mi się (do pewnego stopnia) sprawić, że będzie interesująca. Oto kroki:

  • Klasyczna ASP może być kodowana w VBScript lub JScript (JavaScript), bez żadnych modyfikacji architektury. Przełącz na Javascript.
  • Uzyskaj dostęp do różnych bibliotek: json2.js, podkreślenie, wąsy ... Możesz spojrzeć na biblioteki Node.JS lub biblioteki po stronie klienta, z różnymi modyfikacjami.
  • Zbuduj platformę MVC lub pobierz ją. Możesz zarządzać szablonami i widokami, ładując plik z serwera i czytając jego zawartość, i użyj jednej z licznych bibliotek szablonów JS tam. W przypadku kontrolera możesz użyć zmiennych w zapytaniu, aby przekierować żądania w taki sposób, w jaki zwykle używasz adresu URL (mniej czysty, ale działa).
  • Możesz także zbudować (uproszczony) interfejs API REST!
  • Utwórz ORM (jeśli masz dostęp do bazy danych) lub pobierz ją. Możesz nawet wykonać LINQ-SQL na podstawie podkreślenia.
  • Pracuj nad swoimi poglądami. Używaj zaawansowanych bibliotek JS, takich jak Angular lub Backbone. Przełącz z CSS na LESS, Stylus lub SASS.
  • Twórz klasy proxy do brzydkiego kodu. Są to klasy stworzone wyłącznie w celu połączenia ze starym brzydkim kodem, więc nie musisz go dotykać.

2

Możesz tworzyć własne klasy i usprawniać jak najwięcej procesów. Oto strona z kilkoma przykładami: http://www.u229.no/stuff/

Możesz nawet sprzedawać swoje klasy innym, którzy nadal używają klasycznej ASP. Jak powiedział Demian, istnieje wiele firm posiadających starsze technologie ... nie wszyscy wskakują na nowe rzeczy.


Ostatnim razem, gdy musiałem pracować nad klasycznym asp, co było dość dawno temu, jedną z miłych niespodzianek było to, że VBScript zaczął wspierać klasy.
Gratzy

1

Przede wszystkim, jeśli to nie koszt aktualizacji twojej technologii, ale fakt, że CEO jest tak krótki, że odmawia aktualizacji Tech w oparciu o pomysł, który zna najlepiej i lubi klasyczne bolenie, miałbym poważne wątpliwości co do tego zdrowie długiej rybitwy firmy i zgnilizna umiejętności robienia klasycznego bolenia im dłużej czekasz, tym trudniej będzie znaleźć inną pracę.

Powiedziawszy to, zacznij migrować wszystko, aby użyć opcji „strict strict”, co może sprawić, że utrzymanie bazy kodu będzie mniej bolesne


1

Ponieważ dane są już na AS400 / IBMi, wiesz, że możesz uruchamiać interfejsy Java, PHP, MySQL i inne rzeczy w tym systemie operacyjnym? Domyślam się, że jest facetem 400, a nie facetem ASP. Spróbuj się z tym pogodzić, chciałbym mieć możliwość wyhodowania takiego ekosystemu 400.


0

Wszystkie odpowiedzi tutaj są naprawdę bardzo dobre. Chciałem tylko zasugerować inną alternatywę.

Rozpocznij przenoszenie problemów związanych z infrastrukturą (baza danych, system plików, kod COM itp.) Do osobnych plików. Na przykład możesz mieć procedurę, która zwraca zestaw rekordów jako tablicę (zrobiłem to 8 lat temu, ale nie mam próbki kodu - przepraszam).

Spróbuj zlikwidować „kod” pojawiający się w kodzie HTML, przenosząc go na górę strony lub nawet do wspólnej klasy / utility. Możliwe jest nawet, aby funkcje nagłówka / nawigacji / stopki znajdowały się na jednej stronie asp ze stronami treści, które zawierają stosunkowo mało kodu (z garstką odniesień do zmiennych i tym podobnych).

Dzięki oddzielnym treściom, prezentacji / formatowaniu, logice biznesowej i infrastrukturze możesz teraz przejść na ASP.NET MVC po pokonaniu krzywej uczenia się dzięki tej technologii. Nie będzie to tak proste jak naciśnięcie przełącznika, ale będzie bardzo podobne do każdego, kto pracował z twoim zmodularyzowanym klasycznym rozwiązaniem ASP (co oznacza, że ​​twój szef może go polubić).


-1

Jak sprawić, by Classic ASP był interesujący, jeśli utkniesz z tym?

Po pierwsze, być dumnym ze swojej pracy (nawet jeśli jest to klasyczna ASP). Powód: Słabo rozwinięta (lub załatana) klasyczna strona ASP będzie jeszcze WIĘKSZYM albatosem na szyi. Twój szef naturalnie spodziewa się, że naprawisz wszelkie pojawiające się błędy, i poczujesz się szczęśliwy. Po prostu załaduj dobrą muzykę, załóż słuchawki i wejdź i wyjdź tak szybko, jak to możliwe (zakładając, że na końcu tunelu jest światło i że wkrótce będziesz nad czymś pracować bardziej interesujące).

Po drugie, w stopniu, w jakim jesteś w stanie, postaraj się, aby strony wyglądały i były przyjemne. Pracuj swoją magią z CSS. Jeśli możesz, użyj Bootstrap. I użyj AJAX i innych technik, aby skrócić czas ładowania i odświeżać pełny ekran.

Po trzecie, spróbuj najlepiej użyć jQuery, interfejsu użytkownika jQuery i innych bibliotek po stronie klienta, aby strony były szybkie i płynne. Czasami możesz być w stanie wyeliminować całe strony ASP za pomocą modałów, kreatorów, a nawet SPA ! Zmniejszy to ilość klasycznej ASP, którą będziesz musiał napisać, i sprawi, że praca będzie o wiele bardziej interesująca.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.