8 και 16 bit θρύλοι και αναμνήσεις

Εγώ μεγάλωσα με Kerningham/Richie για αυτό χρησιμοποιώ πάντα το δεύτερο για τις functions και το πρώτο για τα if/for/while κλπ. :)
Έτσι είναι και το PSR.
 
Mηπως ...... ευαναγνωσιμοτητα ?
Δε το βλέπω πως είναι πιο ευανάγνωστο με ένα περιτό line feed επιπλέον. Δηλαδή στο 1ο τρόπο υπάρχει δυσκολία στο να δεις που ξεκιάει ο κώδικας μίας συνάρτησης;
 
Ε, σκέψου μία function του στυλ
public function getModuleDynTemplatesListsData(string $recordId, string $listId, string $modId, string $Lang, string $RV, string $RV2, string $RV3, string $RV4, string $RV5, string $RV6, string $RV7, string $RV8, string $RV9, string $RV10): array {
και από κάτω να ξεκινάει κώδικας...
 
  • Haha
Reactions: SR-71
Ε, σκέψου μία function του στυλ
public function getModuleDynTemplatesListsData(string $recordId, string $listId, string $modId, string $Lang, string $RV, string $RV2, string $RV3, string $RV4, string $RV5, string $RV6, string $RV7, string $RV8, string $RV9, string $RV10): array {
και από κάτω να ξεκινάει κώδικας...
θα την έγραφα ως εξής:
Code:
public function getModuleDynTemplatesListsData(string $recordId, string $listId,
                                               string $modId, string $Lang, string $RV,
                                               string $RV2, string $RV3, string $RV4,
                                               string $RV5, string $RV6, string $RV7,
                                               string $RV8, string $RV9,
                                               string $RV10): array {
        .....
Ειλικρινά δε καταλαβαίνω τι προσφέρει να πάει το { από κάτω πιάνοντας άλλη μια γραμμή
Μια χαρά καταλαβαίνεις που ξεκινάει ο κώδικας της συνάρτησης
 
Όχι σε μένα
Καλα ................. μην χαλασουμε καρδιες στο το που βαζουμε αγκυλες σε λιγο κωδικα C.
Ανεφερα την προτιμηση μου (ισως συνηθεια) και ΟΧΙ την ευθυγραμμιση ολων με τα PSR coding standards.
KATA TYXH ειμαι ευθυγραμισμενος με τα PSR coding standards. Αυτοδιδακτος ειμαι (οχι πανεπιστημιακος).
Για μενα (και μονο για μενα) ειναι πιο ευαναγνωστο (μετα απο εξι μηνες που θα ξανακοιταξω τον κωδικα μου)
καθε αγκυλη να βρισκεται στη δικη της σειρα ! Ισως γιατι η αγκυλη ειναι ενα τιποτα μπροστα σε μια ολοκληρη λεξη (η "φραση").
 
Last edited:
Ειλικρινά δε καταλαβαίνω τι προσφέρει να πάει το { από κάτω πιάνοντας άλλη μια γραμμή

Αν δουλέψεις σε σοβαρό software house δεν έχει σημασία αν καταλαβαίνεις ή όχι. :)
Έτσι γράφεις όταν γράφεις σε ομάδες.
 
Αν δουλέψεις σε σοβαρό software house δεν έχει σημασία αν καταλαβαίνεις ή όχι. :)
Έτσι γράφεις όταν γράφεις σε ομάδες.
Δεν είναι επιχείρημα αυτό, άλλωστε ήδη είπα πως όταν γράφω κώδικα σε shared projects έτσι γράφω.
 
Μα ούτε το "εγώ δεν καταλαβαίνω" είναι επιχείρημα.
Είναι έτσι γιατί κάποιοι αποφάσισαν (για κάποιο λόγο) να είναι έτσι.
Ούτε εγώ καταλαβαίνω γιατί κάποια αυτοκίνητα έχουν την όπισθεν μετά την πέμπτη και όχι σε δακτύλιο αλλά δεν επιμένω να προσπαθώ να σηκώσω τον λεβιέ όταν κάνω όπισθεν ούτε αρνούμαι να τη βάλω. :unsure:
Όταν κάνω code review θα επισημάνω στον dev ότι δεν ακολουθεί τα PSR και να προσέχει αλλά δεν θα ασχοληθώ παραπάνω από ένα format code που είναι σε shortcut.
Τα ternary ή να μην χρησιμοποιεί σωστή ονομασία στα variables θα τον στείλει άμεσα για διορθώσεις, όχι ένα enter.
 
Φορητοτητα .................. κατα SR-71. 😤

Φορητός Μάνου.jpg

Aπο δωματιο ........... σε δωματιο !
Σε δευτερο δρομολογιο ............. και το monitor (21" CRT).

H52ZVbSvUuXMbjrtCqW5Mvu3BB4L6ldiyQUFzgM8binfzEIh7NNUc85sK_LLiatAm9cP0SU7BVz1itbmOdxDqTeKeyJSP0iSLl50Ei4OyTfCFWr-EYXJd-GGNTE
 
Last edited:
Φορητοτητα .................. κατα SR-71. 😤

View attachment 251095

Aπο δωματιο ........... σε δωματιο !
Σε δευτερο δρομολογιο ............. και το monitor (21" CRT).

H52ZVbSvUuXMbjrtCqW5Mvu3BB4L6ldiyQUFzgM8binfzEIh7NNUc85sK_LLiatAm9cP0SU7BVz1itbmOdxDqTeKeyJSP0iSLl50Ei4OyTfCFWr-EYXJd-GGNTE
Είχα ακριβώς αυτό το κουτί. Το είχαν αρκετά Plato PC, επίσης κυκλοφορούσε και σαν DTK. Νομίζω ήταν Antec η original μάρκα του.
 
  • Like
Reactions: SR-71
Μα ούτε το "εγώ δεν καταλαβαίνω" είναι επιχείρημα.
Είναι έτσι γιατί κάποιοι αποφάσισαν (για κάποιο λόγο) να είναι έτσι.
Αυτό ψάχνουμε, το "για κάποιο λόγο". Εγώ δε βρίσκω κάποιο λόγο και ούτε κι εσύ απ' ότι φαίνεται, απλώς επικαλείσαι ένα standard που δεν είναι καν για C, είναι για php.
Το ternary γιατί σε ενοχλεί; Μια χαρά χρήσιμο μπορεί να είναι, ειδικά σε php
Πχ από δικό μου κώδικα
$is_active_icon=($member->status == 0 ) ?'user-check':'times';
one liner, περιεκτικό και κατανοητό. Να κάνω if then else να πιάσει 5 γραμμές; Για ποιο λόγο;
 
Και c έτσι γράφαμε. 😂
Μέχρι ένα if σε ternary διαβάζεται.
Δεν θέλεις να ξέρεις σε τι ternary έχω πέσει!
Σε legacy κώδικα (τράπεζας) που αυτός που το έγραψε είχε πεθάνει από βαθιά γεράματα τον προηγούμενο αιώνα! 😂
 
Εγώ πάντως ως μη προγραμματιστής που γράφει περιστασιακά κώδικα για την εργασία μου, πάντα τα if... τα σπάω σε πολλές γραμμές και εκτιμώ κώδικα που είναι γραμμένος έτσι και το ανεκπαίδευτο μυαλό μου τον καταλαβαίνει πολύ πιο γρήγορα.
Αν έχετε παρατηρήσει τα LLM γράφουν σε python τον κώδικά τους. Προφανώς θα μπορούσαν να γράψουν assembly ή ακόμη και απευθείας γλώσσα μηχανής, αλλά δεν το κάνουν για να μπορούν όσο περισσότεροι χρήστες τους να καταλαβαίνουν τον κώδικα.
Τα one liners ήταν κώδικας με αυξημένη αποδοτικότητα για πιο compact καταστάσεις με προφανή πλεονεκτήματα.
Νιώθω ότι τα χειροπιαστά πλεονεκτήματα πια έχουν εξανεμιστεί.

Πάντως προσωπικά το vibe coding με έχει κερδίσει. Επειδή δεν είμαι προγραμματιστής όταν έπρεπε να γράψω κώδικα κυρίως σε Fortran, Matlab ή Labview, ήταν μια χρονοβόρα διαδικασία. Ειδικά δε η Arduino C ήταν μπελάς γιατί ποτέ δεν είχα είχα μάθει C καλά. Τώρα απλά διαβάζω τον τελικό κώδικα να δω αν έχει καταλάβει κάτι λάθος από το prompt μου. Νομίζω κιόλας ότι είμαι στη συντριπτική μειοψηφία που κάθεται να διαβάσει τον παραγώμενο κώδικα και δεν τον κάνει απλά copy/paste.
 
Το ternary γιατί σε ενοχλεί; Μια χαρά χρήσιμο μπορεί να είναι, ειδικά σε php
Πχ από δικό μου κώδικα
$is_active_icon=($member->status == 0 ) ?'user-check':'times';
one liner, περιεκτικό και κατανοητό. Να κάνω if then else να πιάσει 5 γραμμές; Για ποιο λόγο;
Κι εγώ το αποφεύγω, είναι δυσνόητο. Εκτός από κάτι απλές περιπτώσεις TRUE/FALSE ή όταν χρησιμοποιώ τυποποιημένες διαφοροποιήσεις αρσενικό/θυληκό σε print.
 
Σε Python ολα αυτα γινονται γιατι ειναι γλωσσα ....... μιξερ !

Ομως σε δομημενη γλωσσα .......
πρεπει να ορισεις τι type ειναι το universe (στην αρχη του κωδικα,
και φαινεται να ειναι καποιου ειδους record η πινακα ....... εικαζω),
να ορισεις μεταβλητες που θα χρησιμοποιει το συγκεκριμενο type,
να ορισεις τι procedures και functions σχετιζονται με αυτο (universe)
και στο τελος (πολυυυυυ στο τελος) ................ να κανεις την διαιρεση !
Εαν καποια procedure η function δεν υποστηριζει διαιρεση με ακεραιο
"γ@μηθηκε το συμπαν", κολλησαν ολα (τουλαχιστον στο compilation).

Στην Python (που δεν γνωριζω) μπορει να ειναι αλλιως τα πραγματα
και αν κρινω απο την απλοτητα της εντολης ...... ΕΙΝΑΙ αλλιως τα πραματα.
 
Last edited:
Σε μία γραμμή. :p

PHP
$newUniverse->people= array_intersect_key($universe->people, array_flip(array_rand($universe->people, (int) ceil(count($universe->people) / 2))));

Python
universe.people= random.sample(universe.people, math.ceil(len(universe.people) / 2))

H Python είναι γλώσσα love or hate
Αλλά μόλις μάθεις το Indentation της και δεις τις (άπειρες) βιβλιοθήκες της δεν την αλλάζεις.