Φυσικά και συμφωνώ με αυτά που γράφεις, απλά για πρώτη φορά έχω σχεδόν "ειδανικές συνθήκες" οπότε μπορώ να σκεφτώ κάποια πράγματα παραπάνω και λίγο ποιο θεωρήτικά.
Ας εξηγήσω λοιπόν λίγο το ειδανικές συνθήκες:
- Μίλησα εγώ με τους πελάτες και καθορίσαμε τις προδιαγραφές.
- Συντάχθηκε τεχνική προσφορά η οποία έγινε παράρτημα της σύμβασης, οπότε κάνω μόνο ότι συμφωνήσαμε.
- Το χρονοδιάγραμμα μου επιτρέπει να κάνω καλή δουλειά
- Το μέγεθος και η πολυπλοκότητα του έργου μου δίνουν την ευκαιρία να πάω μπροστά και εγώ ως προγραμματιστής αλλά και η μικρή εταιρία στην οποία εργάζομαι.
- Είμαστε 2 άτομα dedicated στο project και εγώ κάνω όλες τις σχεδιαστικές επιλογές.
Βέβαια το να είσαι project manager, software analyst, developer κλπ κλπ δεν είναι ό,τι καλύτερο αλλά δεν μπορείς να τα έχεις όλα στη ζωή.
Το ζήτημα λοιπόν που έγινε "φλέγον" έχει ως εξής:
το project όπως ανέφερα και σε προηγούμενο topic είναι μια On-line marketplace. Στον πίνακα λοιπόν των καταστημάτων έχουμε ένα πεδίο για το ΑΦΜ. Για την ακρίβεια βρήσκεται σε έναν πίνακα με τα φορολογικά στοιχεία των καταστημάτων (1 to 1) με τον πίνακα των καταστημάτων.
Ο πίνακας αυτός εκτιμώ ότι στην καλύτερη περίπτωση θα έχει κάποιες εκατοντάδες εγγραφές (το ειδανικό είναι να έχει 999 για να γλιτώσω και τα έξοδα) . Επίσης θα γίνονται ελάχιστα updates (μόνο αν πληκτρολογηθούν λάθος δεδομένα, ή γίνει πώληση της επιχείρισης ή κατι άλλο συνταρακτικό) και δεν θα γίνονται deletes (το id των καταστημάτων είναι FK σε πολλούς άλλους πίνακες οι οποίοι δεν θέλουμε να σβήνονται (πχ παραγγελίες, πληρωμές)). Τέλος θα γίνονται και λίγες αναγνώσεις αφού δεν μετέχει ενεργά στη λειτουργία της εφαρμογής.
Σκεφτόμουν λοιπόν που να βάλω τον έλεγχο. Το πρώτο που σκέφτηκα ήταν να το βάλω στον SQL server. Αλλά η βάση θα δέχεται Data μόνο από την εφαρμογή μου οπότε αποκτώ μεγαλύτερη ευελιξία και μπορώ να το βάλω και αλλού. Σκέφτηκα το roundtrip και είπα να το βάλω σε validator αλλά θέλω έστω και για μια φορά στη ζωή μου να αφήσω το UI "καθαρό" για να μπορώ να το λέω στα εγγόνια μου
. Το business logic μου φαίνεται ωραίο μέρος αλλά ήθελα να δω και τις γνώμες άλλων.
Όσο για τους παράγοντες χρόνο και χρήμα νομίζω ότι το ίδιο κοστίζει όπου και να μπει. Η συζήτηση που κάνουμε κοστίζει αρκετά σε χρόνο και σε χρήμα αλλά εντάσεται στο 25% επιπλέον χρόνο που έχει αναφερθεί και σε τόσα άλλα topics.
Τέλος δεν έχω καμία αντίρρηση να παραβώ τις αρχές αν υπάρχει λόγος. Εδώ όμως πια είναι η αρχή; και ποιος ο λόγος για να την παραβώ;
Ευχαριστώ όλους για τις απαντήσεις τους και το χρόνο τους
Μάριος