31.800 σειρές κώδικα σε 351 αρχεία χωρίς τα frameworks και dependencies. Ένα άρθρο που αφήνω εδώ για μένα
- Published
- Last viewed
- Reading time
- 4.4 min
- Words
- 871
Όλα αυτά για να βλέπεις τη σελίδα που βρίσκεται μπροστά σου. Χωρίς Vibe Coding, χωρίς χάος. 270 αρχεία PHP, 56 Vanilla JS και 25 CSS. Το άρθρο δεν αποτελεί διαφήμιση.
Στη σελίδα μου δεν πουλάω κάτι, απλά το σύστημα αυτό αποτελεί μέρος της ζωής μου πια.
Χιλιάδες ώρες κώδικα αλλά όχι μόνο κώδικα. Όταν ένα Project φτάνει τις 31.800 σειρές κώδικα και ουσιαστικά στο Production εκτελούνται συνολικά περί τις 100.000, ένα πρόβλημα στο οποίο γρήγορα οδηγείσαι είναι η αρχιτεκτονική. Αρχιτεκτονική της βάσης δεδομένων, αρχιτεκτονική κάθε γλώσσας προγραμματισμού που συμμετέχει στη ροή, Entry Points, Pipelines, Flows. Μια επιστήμη όλα αυτά από μόνα τους. Καλή δομή σημαίνει ότι μπορείς να δουλέψεις, να επεκτείνεις, να συντηρήσεις ένα σύστημα σχετικά εύκολα. Σημαίνει ότι δεν θα το πάρεις στα χέρια όταν γράψεις το επόμενο Viral άρθρο για τα Lidl -ναι, είχα τέτοιο στο παρελθόν-. Σημαίνει ότι μπορείς να επιστρέψεις 6 μήνες μετά και να κατανοήσεις εύκολα τι έκανες και τι επιδράσεις έχει ένα τμήμα κώδικα σε κάποιον άλλο.
Έλα βρε Τομ, κάνε μια συνδρομή στην Anthropic ή την OpenAI να στο γράψει σε 1 ώρα
Το έκανα! Του έδωσα το Specification Sheet για το Project και το έγραψε.
Το μεγαλύτερο λάθος της ζωής μου!
Μιλάμε για τέτοια σαλάτα δεν έχω δει τόσα χρόνια που ασχολούμαι με τον κώδικα. Ένα σύστημα που δεν θα μπορούσε ποτέ να συντηρήσει άνθρωπος. Εκτός αυτού δραματικά λάθη σε δομές και αρχιτεκτονική. Ένα σύστημα που 100% θα έπαιρνα μετά από λίγο καιρό στα χέρια.
Έτσι έκανα τα εξής βήματα αφού έχασα 11 μέρες από τη ζωή μου που δεν θα επιστρέψουν ποτέ. Το καλό είναι ότι δεν έχω ζωή οπότε ουσιαστικά δεν έχασα και τίποτα:
Μετονομασία του Project σε "Spaghetti"
Μετακίνηση στο φάκελο Archive
Μετακίνηση στο NAS
Ανοίγω νέο Project
Μηδέν σειρές κώδικα
Για να μην ξαναχάσω 11 μέρες της ανύπαρκτης ζωή μου πλέον τηρώ τον αυστηρό κανόνα "όχι Vibe Coding". Βοήθεια σε Comments, Tests, Refactors, Debugging, ναι. Πάντα χρησιμοποιούσα ό,τι τεχνολογία είχα στη διάθεσή μου. Για μένα το ΑΙ είναι απλά ένα εργαλείο. Ένα εργαλείο που αδιαμφισβήτητα γίνεται καλύτερο κάθε μέρα αλλά επίσης γίνεται και όλο πιο Unsustainable κάθε μέρα. Για κάθε 20€ που πληρώνω καίω 2.000€ tokens στην OpenAI. Μπαίνουν μέσα με τα τσαρούχια κάθε μήνα, μιλάμε για δις και δεν βλέπω πως κάποια μέρα θα βγάλουν όλα αυτά τα τρις που έχουν κάψει και θα κάψουν στο μέλλον.
Δεν με απασχολεί όμως αυτό. Ο κώδικας έχει στρατιωτικού τύπου δομή, είναι ευανάγνωστος και εύκολα επεκτάσιμος. Απαίτησε πολύ κόπο, σχεδιασμό και σωστές αποφάσεις.
Μα θα τελειώσει ποτέ;
Εξαρτάται πως ορίζεις το "τελειώσει". Στον κώδικα ένα Project ουσιαστικά τελειώνει όταν τελειώσει ο Developer που το γράφει.
Αν ως "τελειώσει" ορίζεις το MVP (Minimum Viable Project), ναι έχει καιρό που το ολοκλήρωσα αυτό. Αν το ορίζεις: να έχει το σετ των Features που χρειάζεσαι τότε, ναι, επίσης έχει τελειώσει.
Οι διορθώσεις και επεκτάσεις που έκανα το τελευταίο διάστημα αφορούσαν περισσότερο UX. Άλλο πως σκέφτεσαι ότι θα λειτουργεί και άλλο η καθημερινή χρήση ενός προϊόντος λογισμικού. Υπάρχουν πολλά προϊόντα -μεταξύ άλλων και τεχνολογικών κολοσσών" που κυριολεκτικά μισώ να χρησιμοποιώ και τα αποφεύγω με κάθε τρόπο. Κακό User Experience. Πολλές φορές έχεις την αίσθηση ότι είσαι ο πρώτος άνθρωπος στη Γη που το χρησιμοποιεί. "μα δεν το είδε κανένας άλλος αυτό; Ούτε οι δημιουργοί του δεν το χρησιμοποιούν;". Υπάρχουν πολλοί λόγοι που συμβαίνει αυτό, ιδίως σε μεγάλες εταιρείες αλλά δεν είναι επί του παρόντος.
Το μεγαλύτερο σύστημα που έχω γράψει ιδιωτικά
Δεν θυμάμαι να είχα ποτέ μεγαλύτερη Codebase για δικό μου Project. Ναι, σε επιχειρήσεις που δούλεψα, προφανώς ναι, ιδιωτικά όμως όχι.
Η πλατφόρμα φυσικά δεν σχεδιάστηκε για το blog μόνο. Τα νέα Features καταλήγουν πάντα πρώτα εδώ και τα χρησιμοποιώ πρώτα εδώ. Ήδη όμως εκτελείται σε ένα δίκτυο σελίδων και πιθανώς στο μέλλον θα χρησιμοποιηθεί και από πελάτες. Είναι κλειστού κώδικα και έτσι σκοπεύω να παραμείνει.
Αυτό το άρθρο το έγραψα για μένα. Να θυμάμαι. Δεν γνωρίζω αν θα έχει κάποια χρησιμότητα για κάποιον φίλο αναγνώστη μου αλλά θέλω να μείνει εδώ. Μαζί με τα άλλα, για μια πολυετή μοναχική μάχη που έδωσα για τις 31.800 σειρές που έγραψα, διάβασα, ξαναδιάβασα και βελτιστοποίησα. Ο αριθμός αυτός είναι η τσιγγούνικη έκδοση. Έχω τη φιλοσοφία αν κάτι με 200 σειρές γίνεται εξίσου καλά, γρήγορα και με την ίδια ασφάλεια σε 50, θα προτιμήσω τις 50. Πολύ συχνά γυρνάω πίσω σε συναρτήσεις και λέω "μεγάλε, αυτό μπορεί να γίνει πολύ απλούστερα με PHP 8.5 ή ES6+".
23 Οκτωβρίου του 2026 σήμερα και έχω το μεγαλύτερο ιδιωτικό codebase από ποτέ.
Μάλλον τώρα λέω να το τυπώσω σε Α4 σελίδες και να το κάνω ταπετσαρία.
Φιλιά στο κούτελο.
(Όχι που δεν θα το υπολόγιζα: Αν τυπώσω τις 31.800 γραμμές κώδικα σε ευανάγνωστες σελίδες Α4, θα χρειαστώ περίπου 636 φύλλα χαρτιού. Αν τα κολλήσω στον τοίχο, καλύπτω σχεδόν 40 τετραγωνικά μέτρα. Δηλαδή μπορώ να ντύσω και τους τέσσερις τοίχους ενός δωματίου 16 τετραγωνικών μέτρων με τον κώδικά μου. Και αν βρω κάποιο bug, αντί να ανοίγω το VS Code, θα σηκώνομαι από την καρέκλα και θα πηγαίνω να το διορθώσω πίσω από την ντουλάπα.)

/**
* Public Relations Department
* Warning: This function may cause unexpected interest.
* No cookies, no tracking, no dignity.
*/
function ifYouCare(you) {
if (you.care) {
pleaseShare();
return thankYou();
}
// Resistance is futile.
while (!you.care) {
readAgain();
questionYourLifeChoices();
you.care = reconsider();
}
pleaseShare();
return welcomeToTheClub();
}
// TODO: Find someone who actually cares.
// FIXME: Nobody has reached this line yet.
// BUG: Author still thinks people read blogs.