Jump to content

[GR]Συμβουλές για να γράφετε καλύτερο κώδικα


Stealth

Recommended Posts

Σε όποια γλώσσα και αν γράφετε (java,vb,vb.net,c# ή άλλη) υπάρχουν κάποια γενικά πράγματα για να γράφετε καλύτερο κώδικα.

 

1.Μεταβλητές και σταθερές,

 

ΜΕΤΑΒΛΗΤΕΣ

 

Πχ. όταν δηλώνετε μια μεταβλητή:

 

int number;
number = 20;

 

Είναι πιο γρήγορο να την δηλώσετε στην ίδια γραμμή (εκτελείται πιο γρήγορα).

Και αυτό γιατί όταν μεταφραστεί σε assembly, πριν γίνει γλώσσα μηχανής ο linker στην πρώτη περίπτωση καταλαμβάνει 2 καταχωρητές ενώ στην δεύτερη έναν.

 

int number = 20;

 

 

Τα ονόματα με τα οποία δηλώνετε τις μεταβλητές σας καλό είναι να είναι αντιπροσωπευτικά δηλαδή να καταλαβαίνετε τι αντιπροσωπεύει μια μεταβλητή:

 

πχ. για ένα όνομα,

 

string onoma = "Kostas";

 

και όχι

 

string something = "Kostas";

 

Ακόμα τα ονόματα των μεταβλητών σας πρέπει να είναι μικρά για να μην σας τρώει πολύ χρόνο να τα πληκτρολογείτε,

 

πχ.

 

string slang = "Ellinika";
int fnum = "1";

 

και όχι

 

string selectedlanguage = "Ellinika";
int firstnumber = "1";

 

To παραπάνω δεν είναι και απαγορευτικό βέβαια, περί ορέξεως κολοκυθόπιτα που λένε. :P

 

 

ΣΤΑΘΕΡΕΣ

 

Σε αντίθεση με τις μεταβλητές η αξία των σταθερών δηλώνεται συνήθως στην αρχή του προγράμματος και δεν είναι δυνατό να αλλάξει κατά την εκτέλεσή του.

 

Οι σταθερές συνήθως αντιπροσωπεύουν αξίες που δεν αλλάζουν μέσα στο πρόγραμμα, και γράφονται κατά προτίμηση με κεφαλαία για να ξεχωρίζουν από τις μεταβλητές χωρίς όμως αυτό να αποτελεί προϋπόθεση.

 

πχ.

 

const double PINUM = 3.14;

 

Γιατί χρησιμοποιούμε σταθερές?

 

Το γιατί χρησιμοποιούμε σταθερές θα το καταλάβετε αμέσως μετά το επόμενο παράδειγμα,

 

πείτε ότι έχουμε το παρακάτω πρόγραμμα που υπολογίζει τις τιμές 3 προϊόντων με ΦΠΑ και μας δίνει το αποτέλεσμα και ότι το γράψαμε μερικά χρόνια πριν,

 

double dvdprice = 85 + 85 * 0.18;
double tvprice = 150 + 150 * 0.18;
double ps2price = 200 + 200 * 0.18;

double sum = dvdprice + tvprice + ps2price;

 

//0.18 είναι το 18% της τιμής του προϊόντος. (ΦΠΑ)

 

Προφανώς το ΦΠΑ έχει ανέβει από τότε στο 23%, οπότε πρέπει να πάμε σε κάθε γραμμή και να αντικαταστήσουμε το 0.18 με 0.23 κάτι που στην προκειμένη περίπτωση φένεται εύκολο γιατί έχουμε μόνο 3 προϊόντα αλλά για σκεφτείτε να είχαμε 300 ή 400 προϊόντα (πραγματικός πονοκέφαλος να κάνουμε αλλαγές σε κάθε γραμμή για 300 ή 400 γραμμές) και εδώ έρχονται οι σταθερές να κάνουν τη ζωή μας εύκολη.

 

Δείτε πόσο εύκολα μπορούμε με τη χρήση μιας σταθεράς να κάνουμε τη ζωή μας πιο εύκολη,

 

const double FPA = 0.23;

double dvdprice = 85 + 85 * FPA;
double tvprice = 150 + 150 * FPA;
double ps2price = 200 + 200 * FPA;

double sum = dvdprice + tvprice + ps2price;

 

-------------------------------------------------------------------------------------

 

Καλό θα είναι να μην χρησιμοποιείτε πάρα πολλές μεταβλητές γιατί ουσιαστικά ενώ εσείς μπορείτε να χρησιμοποιήσετε ένα μεγάλο αριθμό μεταβλητών θεωρητικά άπειρο οι καταχωρητές του CPU σας στις οποίες στο τέλος αποθηκεύονται οι μεταβλητές είναι πεπερασμένες.Οπότε όσο λιγότερες μεταβλητές τόσο λιγότερους καταχωρητές χρησιμοποιείτε, κάτι που έχει τελικά επίδραση στο χρόνο εκτέλεσης του προγράμματος. (η οποία εξαρτάται από το μέγεθος του προγράμματος).

 

2.Δομές επιλογής

 

//του ντου

 

 

 

 

 

 

Αυτά για τώρα θα φτιάξω και άλλα τουτ, όποιος θέλει τίποτα pm,

 

 

Κώστας.

 

 

Όλα τα παραπάνω είναι γραμμένα σε Visual C#.Τα ίδια ισχύουν και γενικότερα όμως πχ, για java, C....

 

Γραμμές που προστέθηκαν

Γραμμές που επεξεργάστηκαν

Γραμμές που διαγράφτηκαν

Link to comment
Share on other sites

Αυτό τον τρόπο σκέψης έχω και εγώ, δηλαδή προσπαθώ να φτιάξω καθαρό κώδικα και χωρίς πολλά πολλά.

Συνήθως οι μεταβλητές μου είναι απο 1 έως 3 γράμματα και δεν αφήνω μεγάλα κενά όπου δεν χρειάζεται, ούτε notes που τρώνε αρκετό χώρο στο πρόγραμμα.

Αν και δεν ασχολούμαι τόσο πολύ με τα programming languages δουλεύω πάνω στην pascal λόγω της σχολής και τελευταία με ενδιέφερε πιο πολύ οπότε ασχολούμαι και στο σπίτι

Link to comment
Share on other sites

@ED, σε Pascal έδωσα πανελλήνιες :) !

 

Επίσης καλό είναι να γράφουμε με δόμηση αφήνοντας κενά(tab spaces) για να είναι πιο κατανοητός ο κώδικας.

 

π.χ.:

if(x>0)
print ">0";
else
print "<=0";

και όχι

if(x>0)
print ">0";
else
print "<=0";

 

 

Link to comment
Share on other sites

Αυτό τον τρόπο σκέψης έχω και εγώ, δηλαδή προσπαθώ να φτιάξω καθαρό κώδικα και χωρίς πολλά πολλά.

Συνήθως οι μεταβλητές μου είναι απο 1 έως 3 γράμματα και δεν αφήνω μεγάλα κενά όπου δεν χρειάζεται, ούτε notes που τρώνε αρκετό χώρο στο πρόγραμμα.

Αν και δεν ασχολούμαι τόσο πολύ με τα programming languages δουλεύω πάνω στην pascal λόγω της σχολής και τελευταία με ενδιέφερε πιο πολύ οπότε ασχολούμαι και στο σπίτι

 

Ωραίος :D

 

Επίσης καλό είναι να γράφουμε με δόμηση αφήνοντας κενά(tab spaces) για να είναι πιο κατανοητός ο κώδικας.

 

π.χ.:

if(x>0)
print ">0";
else
print "<=0";

και όχι

if(x>0)
print ">0";
else
print "<=0";

 

 

 

Σκόπευα να το βάλω σε ένα από τα επόμενα τουτοριαλς αφού πρώτα βάλω για ιφ , σουιτς κτλπ θα έφτιαχνα και ένα γενικότερο για κομμεντς και στοίχηση του κώδικα ομοιόμορφα, αλλά με πρόλαβες! :P

 

 

 

Link to comment
Share on other sites

Σκόπευα να το βάλω σε ένα από τα επόμενα τουτοριαλς αφού πρώτα βάλω για ιφ , σουιτς κτλπ θα έφτιαχνα και ένα γενικότερο για κομμεντς και στοίχηση του κώδικα ομοιόμορφα, αλλά με πρόλαβες! :P

Ετοιμάζεις κι'άλλα guides?

 

Περιμένωωω :D

Link to comment
Share on other sites

@ED, σε Pascal έδωσα πανελλήνιες :) !

 

Επίσης καλό είναι να γράφουμε με δόμηση αφήνοντας κενά(tab spaces) για να είναι πιο κατανοητός ο κώδικας.

 

π.χ.:

if(x>0)
print ">0";
else
print "<=0";

και όχι

if(x>0)
print ">0";
else
print "<=0";

 

 

afto pantos pleon sta perisotera programmata ginete aftomata

toulaxiston sto eclipse p doulevw ginete

alla kai se osa alla douleva palia ginotan

Link to comment
Share on other sites

Σκόπευα να το βάλω σε ένα από τα επόμενα τουτοριαλς αφού πρώτα βάλω για ιφ , σουιτς κτλπ θα έφτιαχνα και ένα γενικότερο για κομμεντς και στοίχηση του κώδικα ομοιόμορφα, αλλά με πρόλαβες! :P

Νομίζω καλύτερο θα ήταν να τα έχεις όλα σε ένα νήμα.

 

afto pantos pleon sta perisotera programmata ginete aftomata

toulaxiston sto eclipse p doulevw ginete

alla kai se osa alla douleva palia ginotan

Αναφερόμουν σε αυτούς που δεν χρησιμοποιούν IDE αλλά κάποιον απλό κειμενογράφο.
Link to comment
Share on other sites

Καλο πιστευω ειναι να κανουμε και σχολιο στο κωδικα μας.

 

Εννοείται και είναι πολύ σημαντικό να σχολιάζουμε τον κώδικα μας ειδικότερα όταν γράφουμε μεγάλα κομμάτια κώδικα αλλά σε ένα νορμάλ επίπεδο να μην το παρακάνουμε...

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...