Qual è il mio problema con strumenti e strumenti di terze parti suggeriti da colleghi o amici? [chiuso]

-3

Sono un esperto di C #, ASP.NET MVC5, Flex, Actionscript, Html, css, jquery, php con esperienza di oltre 4 anni.

Ho una passione per lo sviluppo e non ho paura di imparare cose nuove. Infatti leggo libri tecnici su ciò che conosco per ottenere una conoscenza più approfondita e immergermi anche in cose nuove come imparare a lavorare con un lampone, l'elettronica, i nuovi linguaggi di programmazione (di recente ho iniziato a leggere su Python e ne sono entusiasta).

Ma ho un odio viscerale per alcune cose.

Solo per citarne alcuni: Linux, prodotti Apple, qualsiasi cosa basata su * nix e framework in generale.

Spesso finisco in discussioni e piccoli scontri con colleghi o altri programmatori su strumenti e altre cose.

Solo per dire gli ultimi due:

C'è un tizio che mi sta cercando di convincere che odio Linux perché non posso usarlo. Ho fatto assistenza in passato e ho dovuto risolvere vari problemi sui computer Linux.

Ogni volta è stato un grande rompicoglioni, e anche il mio collaboratore, che era molto più esperto di Linux, lo difendeva ancora e diceva che sono io che non posso usarlo, mentre un sacco di errori stavano solo tenendo spuntando in quella shell bash.

Un altro argomento riguarda log4net con il mio attuale collega. Preferisco in ogni mio progetto utilizzare una libreria semplice e diretta che ho scritto (meno di 80 righe di codice) che praticamente registra tutto in un file e lo fa dannatamente bene.

L'ho detto a meno che non sia un requisito o un grande progetto, non mi piace affatto log4net in quanto è ingombrante e fastidioso con tutta la configurazione xml, tutti i suoi nomi strani e così via e che preferisco usare la mia libreria semplice o scrivi un logger facile e veloce in movimento e che non lo userò mai. Stava difendendo log4net parlando di standard, è meglio perché tutti lo usano così non devi esaminare il codice di registrazione personalizzato (quale tipo di programmatore si mette nei guai leggendo un logger di 80 righe che scrive solo su un file e implementa un sistema di verbosità veloce ?? Una matricola forse ...)

Tutti cercano di convincermi che dovrei usare questo o quello perché è meglio e tutti lo fanno e si comporta come se fossi stupido e testardo e dice che non mi piace niente, quindi è inutile mostrarmi le cose perché lo farò mai come niente.

Ho imparato un sacco di cose nuove, MVC5 di Microsoft è stata una piacevole sorpresa anche se non mi piacciono alcune cose (sistema di validazione crappy e altre cose) e mi piace provare nuove librerie o altre cose ma, davvero, qual è il problema con me?

Mi sento molto selettivo, ho bisogno di testare la cosa in profondità e poi ponderarli sulla bilancia per vedere se ne vale la pena o meno.

Se un sistema di log inizia ad aver bisogno di xml per essere configurato, chiama metodi strani in cui devi passare le chiavi di formattazione o che solo per aggiungere la data al nome del file ha bisogno di bloated xml configs non è solo per me. Preferisco scrivere 100 righe di codice per il mio registratore personalizzato e tra 10 minuti e sono ok per il resto del progetto.

Non registro affatto log4net, capisco che tutte le sue funzionalità sono giuste per un grande progetto, ma per il resto è solo un overhead per me.

I TOOK LOG4NET come esempio, ci sono state varie discussioni su molti framework, librerie, SO, modelli di design e così via ...

Cosa c'è che non va, se c'è qualcosa che non va? Io sono pigro? Non sono un vero programmatore perché non faccio esperimenti e non aderisco agli standard? Cosa?

    
posta Wasted 08.09.2016 - 12:20
fonte

1 risposta

2

Sei decisamente un vero programmatore. Devo ancora incontrare qualche capo tecnologico che non abbia opinioni molto forti su una tecnologia o un'altra. Ho una mia lista di sproloqui sulle tecnologie che uso o evito. Non mi lascio prendere per autocoscienza perché non sei d'accordo con "Bob in Network Infrastructure".

Ma c'è un grosso problema valido che i tuoi compagni di squadra stanno sollevando che probabilmente devi prendere in considerazione. Gli standard esistono per una ragione e il loro valore è spesso meno basato sulla tecnologia tanto quanto basato sul lavoro di squadra. Se hai un team di 20 sviluppatori che lavorano su un progetto, hai davvero bisogno di metterli tutti sulla stessa pagina. Altrimenti alla fine del tuo progetto potresti avere un software funzionante, ma posso garantire che sarà un incubo da mantenere. (Credimi su questo ... ho appena ereditato un'applicazione SOA in cui non esisteva la standardizzazione e ora il mio team di 4 sviluppatori ha 30+ nuovi pezzi di tecnologia proprietari da imparare, molti dei quali svolgono esattamente la stessa funzione. del nostro tempo refactoring piuttosto che costruire nuove funzionalità).

Il vantaggio del team di utilizzare una libreria di registrazione (o middleware, ORM, ecc.) concordata è che tutti i membri del team avranno un approccio relativamente coerente a un problema simile. Questo si traduce in meno tempo necessario per la risoluzione dei problemi, meno denaro richiesto per l'assunzione di risorse (ora non è necessario un ragazzo Java e un ragazzo PHP e un ragazzo .NET), e garantisce un migliore coordinamento del gruppo lavorando verso le migliori pratiche per una tecnologia centrale.

Da una prospettiva di sviluppo personale, lavorare da una libreria standard invece di costruire la tua ti aiuterà a costruire un'esperienza su un pezzo di tecnologia che può quasi essere garantito trasferibile se decidi di trasferirti in un altro negozio. Se possiedo un'applicazione e ho bisogno di assumere un nuovo sviluppatore, sono certamente incline ad assumere la persona con esperienza con le dipendenze di terze parti della mia app, quindi sono il ragazzo senza questa esperienza (perché ha sempre usato il suo non -la tecnica standard). E se davvero hai voglia di scrivere le tue soluzioni, perché non contribuire ad alcune di queste librerie open-source online e costruire su altri sviluppatori? Se pensi di poter risolvere un problema meglio dello standard accettato ... prova a costruire su quello standard e consenti alla comunità di controllare il tuo lavoro (è un altro ottimo modo per ottenere il tuo nome là fuori).

TLDR - Alla fine della giornata non c'è niente di sbagliato nel voler fare le cose a modo tuo, ma ricorda che molto spesso sarai uno sviluppatore in un team più grande. Conformarsi allo standard del team è quasi sempre preferibile rispetto a "andare da soli".

    
risposta data 08.09.2016 - 14:29
fonte

Leggi altre domande sui tag