Come rendere interessante ASP classico se ne sei bloccato? [chiuso]


14

Lavoravo in una società di outsourcing davvero piccola (4 programmatori e il capo), quindi quando lo stress e i frequenti lunghi turni rendevano la situazione insopportabile, sono passato a un lavoro meglio retribuito con un programma più rilassato che mi permette di tempo libero.

Il problema, tuttavia, è che per la maggior parte, tutto è codificato in ASP classico che si interfaccia con un sistema di accodamento C ++ personalizzato che memorizza tutto nei sistemi AS400. Il mio capo era uno degli sviluppatori che ha fatto gli sforzi iniziali per questo, e naturalmente non approverà mai il passaggio ad altre lingue / tecnologie nonostante la crescente difficoltà che rappresenta lo sviluppo delle esigenze aziendali di oggi con gli strumenti di ieri.

Sto praticamente bloccando la codifica con ASP classico nel prossimo futuro e sto lottando per trovare modi per renderlo almeno interessante, dato che prima lavoravo con .NET e Java, e mi sento come se stessi andando indietro ... Qualche consiglio?


13
... trasformarlo in un gioco a bere? Funziona per molti brutti film e programmi TV ...
FrustratedWithFormsDesigner

4
Penso che sarebbe morto per avvelenamento da alcol in breve tempo ...
Wayne Molina,

4
Un'altra idea: condividi i tuoi risultati su TheDailWTF.com in modo che altri possano offrire le loro simpatie.
FrustratedWithFormsDesigner,

2
Metto in dubbio la premessa ... pochissime persone che pensano di essere "bloccate per il prossimo futuro" lo sono davvero. A meno che questo non sia un lavoro in prigione, c'è una via d'uscita se si mette lo sforzo per trovarlo. Se pensi ancora di essere "bloccato", immagina questo ... la società fallirà domani. Saresti ancora "bloccato"? In caso contrario, perché sei "bloccato" ora?
JoelFan,

1
"tutto è codificato in ASP classico che si interfaccia con un sistema di accodamento C ++ personalizzato che memorizza tutto nei sistemi AS400." Avrò degli incubi su questo.
Tjaart,

Risposte:


27

Come altri hanno sottolineato, probabilmente dovresti provare a cambiare idea del tuo capo o trovare un lavoro dove non devi sopportare una mentalità così arretrata.

Tuttavia , nel frattempo, potresti rendere il tuo lavoro un po 'più interessante provando a spostare qualunque funzionalità tu possa lato client e utilizzare le chiamate asincrone per innescare cose sul server. Pensa a questo come un front-end HTML / JavaScript con Webservices (implementato in ASP classico) sul back-end. Lo sviluppo di un'API RESTful potrebbe essere una sfida interessante, ci sono alcuni strumenti come i parser JSON per ASP classico per spostare i dati avanti e indietro in un modo più standard e il modello lato client ti permetterebbe di formattare i dati che ottieni dai tuoi servizi web per una presentazione più piacevole. LinkedIn ha fatto qualcosa di simile per unificare le diverse tecnologie di back-end.

Una volta che hai un'API RESTful, puoi provare a scrivere alcuni servizi Web gestiti per emulare la funzionalità di roba ASP classica esistente.


4
+1 Ottima risposta! Rendi ASP classico più moderno! Potresti finire per fare qualcosa di MOLTO unico e intelligente e imparerai molto. Trovo che non mi annoio mai quando sto imparando.
maple_shaft

@maple_shaft: il trucco si sta allontanando dall'apprendimento abbastanza a lungo da fare qualcosa di utile =).
R0MANARMY,

Sì, questo è esattamente il tipo di risposta che stavo cercando. Qualcosa da fare nel frattempo. Inoltre, per gli altri ragazzi che suggeriscono di cercare un altro lavoro, so che alla fine troverò un altro lavoro adatto ai miei interessi, e non sarà una scelta difficile quando bussa alla mia porta.
Saul Delgado,

11

Prima di iniziare, non affronterò il problema se il tuo capo ha ragione o meno di insistere sul classico ASP. Non ci hai fornito informazioni sufficienti. Se hai un corpus molto grande di codice esistente in ASP classico che è abbastanza buono al 95% e stai facendo piccole attività di manutenzione, allora è probabilmente una buona idea attenersi a ASP classico ... il costo di portare tutto su un la nuova lingua potrebbe essere troppo alta. Tuttavia, se il tuo capo sta lanciando nuovi progetti in ASP classico, beh, non ci sono scuse per questo. E c'è un'intera gamma nel mezzo. Quindi non ho abbastanza informazioni per pesare su questo e non mi preoccuperò.

Ma voglio rispondere alla tua precisa domanda ... come rendere interessante la codifica .

È interessanteuna buona cosa nella codifica? Ricorda la maledizione cinese "Potresti vivere in tempi interessanti?" Beh, probabilmente non è cinese ... ma il fatto è che mi chiedo se tutte le forme di programmazione debbano essere interessanti. A volte vuoi solo che sia facile e diretto. I più grandi pasticci di codice che io abbia mai dovuto ripulire sono stati causati dagli sviluppatori che sono stanchi del semplice modo semplice di fare qualcosa e hanno bisogno di trovare un linguaggio intelligente che nessuno abbia mai sentito, solo per stimolare la propria mente. Ricordo di aver trovato 20 righe di codice C ++ il cui scopo non riuscivo a decifrare. Risulta essere stato una sorta di sottile trucco da parte di uno sviluppatore per assicurare che alcune variabili fossero inizializzate su 1 se si fosse dimenticato di inizializzarle. Era ridicolo, e il ragazzo era interessante. Ma ha sprecato tutti

C'è molta virtù nello scrivere la maggior parte del codice giornaliero in un linguaggio "noioso". Significa che puoi usare il tuo cervello per pensare al dominio dell'applicazione invece di provare a capire perché l'ultima funzionalità linguistica che hai appena inventato non funziona come ti aspettavi. Di solito puoi lavorare molto più velocemente se capisci completamente la tua lingua e le sue librerie. Ciò significa che puoi usare i tuoi cicli cerebrali per qualcosa come pensare a rendere la tua applicazione più interessante, più utile, più redditizia o più utilizzabile.

Per mantenere la mente acuta, usa il tuo tempo libero per imparare nuove lingue interessanti. Lavora su progetti open source o lavora sui tuoi progetti.

Ricorda, non sto difendendo l'uso di ASP classico e non sto dicendo che sia una buona idea usarlo perché è "noioso". Se pensi che sia una virtù usare un ambiente di sviluppo "interessante", più potere per te ... ma ti stai concentrando sulla cosa sbagliata. Un buon scultore non vuole uno scalpello interessante ... che potrebbe ostacolare la creazione di belle statue. Un buon pittore non è alla ricerca di pennelli "interessanti". Potrebbero scherzare con strumenti interessanti, ma faranno del loro meglio con gli strumenti più noiosi possibili: gli strumenti che sono così noiosi da scomparire e lasciare che l'artista lavori sull'arte.


3
Credo che la domanda non fosse rivolta specificamente alle caratteristiche interessanti di una determinata lingua, ma più sulla falsariga di Cosa posso fare per guardare al futuro al lavoro ogni giorno? In tale contesto, hai intenzione di fare un passo indietro rispetto alla codifica e chiedere Come posso rendere questa applicazione più interessante, più utile, più redditizia o più utilizzabile? è perfetto. Non è tanto un artista che usa un pennello interessante per dipingere, ma piuttosto trova soggetti interessanti da dipingere.
R0MANARMY,

Hai detto "più interessante, più utile, più redditizio o più utilizzabile". Mi chiedo quante persone impiegate come programmatori riescano a lavorare su quegli aspetti del software? Penserei che solo se possedessi tutto o parte del progetto o lavorassi all'avvio, potresti toccarli. La mia esperienza è stata la maggior parte degli ambienti in cui queste decisioni sono lasciate ad altri, principalmente dirigenti o PM.
aceinthehole,

7

Ti senti come si sta andando a ritroso, perché tu sei . Non c'è altro consiglio che quello di trovare un'azienda che non sia bloccata nei secoli bui. Ci sono ragioni assolutamente zero per restare con ASP classico al giorno d'oggi; in effetti dirò senza dubbio che la scelta di rimanere con ASP classico ti farà del male in futuro come A) Le tue abilità .NET e Java si atrofizzeranno e B) A un potenziale futuro datore di lavoro stai lavorando su ASP classico, una tecnologia che era obsoleto da oltre 10 anni e anche allora era come tirare i denti; in altre parole non hai alcuna esperienza rilevante. Hai scelto male, a quanto pare.

Puoi fare così tanto con ASP classico ed è tutto molto doloroso.


4
Il PO indica che questo è ciò che è bloccato a fare almeno per il prossimo futuro, quindi suggerire che se ne vada non è utile. Indicare tutti i modi in cui ritieni che la sua situazione sia terribile è ancora meno utile. 10 anni fa sarebbe stato il 2001 circa un anno prima che. NET Framework 1.0 fosse rilasciato, quindi l'asp classico non era quasi obsoleto.
Gratzy,

2
@Gratzky no, ma era una tecnologia orribile anche allora. Molto inferiore alle due principali alternative: PHP e JSP
Sean Patrick Floyd,

6

Impara un linguaggio moderno a tua scelta e utilizzalo per creare uno strumento che generi pagine e classi ASP per te, ad esempio mediante reverse engineering da un database di destinazione. Ciò lo renderà sicuramente interessante.


Mi viene in mente T4 , ma immagino che qualsiasi motore di templating lo farebbe.
R0MANARMY,

1
Ho fatto qualcosa del genere. Ho usato Ruby per generare procedure memorizzate e classi di accesso ai dati basate sulle definizioni delle tabelle del database.
Larry Coleman,

@Larry Coleman: Intendi qualcosa sulla
falsariga

@ R0MANARMY: Sì, ma allora Rails non era in giro.
Larry Coleman,

5

Perché dovresti mai rimanere bloccato con una vecchia tecnologia? Le aziende migrano continuamente le tecnologie. Il trucco è quello di mettere un elenco di motivi per cui il passaggio a una tecnologia più recente è vantaggioso per l'azienda, sia dal punto di vista tecnico che commerciale. Più volte che no, il costo iniziale delle pile tecnologiche di migrazione supera di gran lunga i costi di sviluppo futuri.

Anche se, per qualche oscura ragione, è stato scoperto che non era possibile cambiare stack tecnologici, puoi sempre usare gli strumenti e le tecnologie attuali per rendere la tua vita usando le vecchie tecnologie più sopportabili.

Se il tuo capo è uno dei primi sviluppatori del progetto e rifiuta di cambiare tecnologia solo in base al fatto che è il tuo capo e conosce meglio di te, molto probabilmente cercherei un nuovo lavoro: non vorrai essere bloccato in un ambiente in cui la tua leadership è miope. Non sto dicendo che convincerlo / a sarà facile in quanto sono sicuro che hanno anni di lavoro investiti nel loro bambino e ammettere che è necessario cambiare è un duro colpo per l'ego intero. Devi assicurarti che hai motivi chiari , concisi e misurabili sul perché è necessaria una migrazione, dove praticamente metterebbe il tuo capo in una situazione in cui no migrare sarebbe chiaramente una decisione sbagliata.

In bocca al lupo.


Lo so, non c'è motivo di rimanere bloccati con la vecchia tecnologia, anche il framework su misura che usiamo qui è un dolore da usare e offre nemmeno la metà dei vantaggi di qualsiasi framework di programmazione commerciale. Ricordo di aver ascoltato da qualche parte qui che il fatto che fosse stato realizzato internamente aggiunge uno strato di oscurità che può essere visto come una misura di sicurezza, ma ad essere sincero, non lo sto acquistando.
Saul Delgado,

2
@ reno812, La sicurezza attraverso l'oscurità NON è affatto sicurezza. È come se la porta sul retro della tua casa fosse spalancata e dicesse che la tua casa è sicura perché quella porta non si affaccia sulla strada.
maple_shaft

So che non lo è, solo per darti un'idea della mentalità qui intorno.
Saul Delgado,

3

Lavoro anche con ASP classico e sono riuscito (in una certa misura) a renderlo interessante. Ecco i passaggi:

  • ASP classico può essere codificato in VBScript o JScript (Javascript), senza alcuna modifica all'architettura. Passa a Javascript.
  • Ottieni l'accesso a varie librerie: json2.js, trattino basso, baffi ... Puoi guardare le librerie Node.JS o le librerie sul lato client, con varie modifiche.
  • Crea un framework MVC o scaricalo. È possibile gestire il template e le visualizzazioni caricando un file dal server, leggendo il suo contenuto e utilizzando una delle numerose librerie di template JS disponibili. Per il controller, puoi utilizzare le variabili nella query per reindirizzare le richieste nel modo in cui utilizzeresti normalmente l'URL (meno pulito ma funziona).
  • Puoi anche creare un'API REST (semplificata)!
  • Crea un ORM (se hai accesso al database) o scaricalo. Puoi persino creare un LINQ-to-SQL basato sul carattere di sottolineatura.
  • Lavora sulle tue opinioni. Usa librerie JS avanzate come Angular o Backbone. Passa da CSS a MENO, Stilo o SASS.
  • Crea classi da proxy a brutto codice. Quelle sono classi create al solo scopo di interfacciarsi con il vecchio brutto codice in modo da non doverlo toccare.

2

È possibile creare le proprie classi e semplificare il maggior numero possibile di processi. Ecco un sito con alcuni esempi: http://www.u229.no/stuff/

Potresti persino commercializzare le tue lezioni con altri che usano ancora ASP classico. Come ha detto Demian, ci sono molte aziende con tecnologie più vecchie ... non tutti saltano nelle nuove cose.


L'ultima volta che ho dovuto lavorare su asp classico, che è stato un po 'di tempo fa, una delle belle sorprese è stata che VBScript aveva iniziato a supportare le classi.
Gratzy,

1

Innanzitutto, se non è il costo di aggiornare la tua tecnologia, ma il fatto che il CEO abbia una posizione così breve che rifiuta di aggiornare la tecnologia in base all'idea che conosce meglio, e gli piace l'ASP classico, avrei alcuni seri dubbi su la lunga stanchezza della compagnia e con l'abilità marcio del fare asp classico più a lungo aspetti più difficile sarà trovare un altro lavoro.

Detto questo, iniziare a migrare tutto per usare "un'opzione rigorosa", questo potrebbe rendere meno doloroso mantenere la base di codice


1

Dato che i dati sono già su AS400 / IBMi, sai che puoi eseguire interfacce Java, PHP, MySQL e altre cose su quel sistema operativo? Suppongo che sia un ragazzo di 400, non un ASP. Prova ad abbracciarlo, mi piacerebbe avere l'opportunità di far crescere un 400 ecosistema del genere.


0

Tutte le risposte qui sono davvero molto buone. Volevo solo suggerire un'altra alternativa.

Inizia a spostare i problemi di infrastruttura (database, file system, codice COM, ecc.) In file separati. Ad esempio, potresti avere una procedura che restituisce un recordset come array (l'ho fatto 8 anni fa ma nessun esempio di codice - scusa).

Prova a sradicare il "codice" che appare nel tuo HTML spostandolo nella parte superiore della pagina o anche in una classe comune / utility. È anche possibile avere le funzioni header / nav / footer in una singola pagina asp con pagine di contenuto che contengono relativamente poco codice (con una manciata di riferimenti a variabili e simili).

Con il contenuto, la presentazione / formattazione, la logica aziendale e le preoccupazioni infrastrutturali tutti separati, ora sei in grado di passare ad ASP.NET MVC una volta superata la curva di apprendimento con quella tecnologia. Non sarà facile come premere un interruttore, ma sembrerà molto simile a chiunque abbia lavorato con la tua soluzione ASP classica modulare (il che significa che al tuo capo potrebbe davvero piacere).


-1

Come rendere interessante ASP classico se ne sei bloccato?

Innanzitutto, sii orgoglioso del tuo lavoro (anche se è ASP classico). Motivo: una pagina ASP classica mal sviluppata (o patchata) sarà un albatro ancora più GRANDE attorno al collo. Il tuo capo si aspetterà naturalmente che tu correggi eventuali bug e si sentirà schifo. Basta caricare un po 'di buona musica, indossare le cuffie ed entrare ed uscire il più velocemente possibile (supponendo che ci sia, in effetti, luce alla fine del tunnel e che presto lavorerai su qualcosa più interessante).

In secondo luogo, nella misura in cui sei in grado, fai del tuo meglio per rendere le pagine più belle. Lavora con la tua magia con i CSS. Usa Bootstrap se puoi. E utilizza AJAX e altre tecniche per ridurre i tempi di caricamento e gli aggiornamenti a schermo intero.

In terzo luogo, fai del tuo meglio per utilizzare jQuery, l'interfaccia utente jQuery e altre librerie sul lato client per rendere le pagine veloci e fluide. A volte, potresti essere in grado di eliminare intere pagine ASP con modali, maghi o persino SPA ! Ciò ridurrà la quantità di ASP classico che dovrai scrivere e renderà il lavoro molto più interessante.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.