In primo luogo, mi dispiace per i miei ragazzi inglesi.
Attualmente questo è il mio primo lavoro di programmazione. Sono etichettato come il programmatore più incompetente della mia azienda perché misura le prestazioni e la produttività del programmatore dalla velocità con cui è possibile ottenere le cose. Non sono sicuro se sono lento o meno, perché cerco sempre di testare manualmente il mio codice prima di inviarlo, e sono abbastanza sicuro che la maggior parte dei programmatori qui non testano il loro codice nel modo in cui collaudo il mio. Non faccio test automatici perché ammetto che il concetto è ancora complesso per me. Poiché il nostro software non è ancora utilizzato dall'utente, non sappiamo quale programmatore ha il maggior numero di bug. E anche il sistema è solo per uso interno, quindi non abbiamo una scadenza rigorosa. Il tempo di spedizione non è così importante.
Non abbiamo best practice, test automatizzati, revisioni del codice e standard di codifica qui in azienda, quindi in pratica sei da solo, basta che il codice funzioni e sia corretto. Quasi tutti i programmatori qui sono freschi dal college. Anche io sono un neolaureato.
Penso che il motivo per cui sono veloci è perché fanno tutta la logica di business in sql. Quindi Fondamentalmente hanno tutto il codice UI e il codice Sql in un file .aspx proprio come il codice qui sotto
Patial class InvoiceView : Page
{
protected void button_click(object sender, Eventargs a)
{
string sql = "Select * from some blah blah blah";
DataTable tab = .....some Ado.net code here.
Gridview.DataSouce = Tab;
Gridview.DataBind();
}
}
Prima di ottenere il mio primo lavoro (anche se questo è il mio primo lavoro), non codifico più questo tipo di solito uso un oggetto personalizzato proprio come il codice qui sotto.
Public class Invoice
{
public int InvoiceNo {get;set;}
Public DateTime PaidDate {get;set;}
Public List<Item> Items {get;set;}
public decimal Amount {
get
{
decimal amount = 0;
foreach(var i in Items)
{
amount = amount + i.TotalPrice;
}
return amount;
}
}
}
dopodiché creerò una classe DataMapper, e sono abbastanza sicuro che questo sia il motivo per cui sono lento, perché devo mappare manualmente la tabella delle righe agli oggetti e testare il datamapper. Quindi in pratica il loro non è un ORM o un micro ORM. Il nostro database non ha integralità referenziale e le tabelle cambiano sempre. Quindi pensavo che gli ORM non fossero l'ideale per questo progetto.
La persona che mi ha etichettato come la più lenta è in realtà un programmatore junior, proprio come il resto. Ha 2 anni di esperienza davanti a noi, ecco perché è il nostro immediato superiore. A volte penso sempre che la ragione per cui ha detto questo è perché è ancora un junior e non ha esperienza quando si tratta di gestire una squadra di programmatori.
Sono fiducioso di poter fare tutto il lavoro che mi daranno.
Ecco la mia domanda.
-
Devo usare DataTable e inserirlo in gridview proprio come fa il resto del mio team?
-
Quando utilizzare DataTable al posto di oggetti personalizzati o classi di dominio?
-
Attualmente conosco solo due pattern di accesso ai dati, ActiveRecord e DataMapper. Come si chiama lo schema utilizzato dal mio team?
-
Come posso programmare più velocemente?
Grazie ragazzi, mi dispiace per il mio inglese.