Πώς μπορώ να κωδικοποιήσω αποτελεσματικά;


Απάντηση 1:

Σχεδιασμός και αρχιτέκτονας. Θα πρέπει να περάσετε την πλειοψηφία του χρόνου σκέψης και προγραμματισμού σας. Η σύνταξη του κώδικα είναι ο τόπος στον οποίο πρέπει να περάσετε το λιγότερο χρόνο. Η μηχανική λογισμικού είναι εξειδικευμένη και μερικώς μηχανική. Ο σχεδιασμός και η αρχιτεκτονική είναι η τέχνη .... Η κωδικοποίηση είναι το μηχανικό κομμάτι. Και παρακαλώ γράψτε σας με την ιδέα ότι κάποιος άλλος αργότερα (ίσως χρόνια) πρέπει να συνεργαστεί με αυτό. Έγγραφο και όργανο.


Απάντηση 2:
  • Χρησιμοποιήστε ως μικρό κώδικα για να πάρετε όσο γίνεται.
  • Μην επανεφεύρετε τον τροχό. Βρείτε μια καλή βιβλιοθήκη ή ένα απόσπασμα κώδικα να το χρησιμοποιήσετε.
  • Γράψτε ασφαλή κωδικό. Υποθέστε ότι όλες οι εξωτερικές διεπαφές εκμεταλλεύονται διανύσματα.
  • Γράψτε τον κώδικα υποθέτοντας ότι πρέπει να το διαβάσετε χρόνια αργότερα.
  • Γράψτε τον κώδικα υποθέτοντας ότι άλλοι άνθρωποι με παρόμοιο επίπεδο ικανότητας μπορούν να το διαβάσουν.
  • Μην υπερβείτε τη βελτιστοποίηση.

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


Απάντηση 3:

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

Προκειμένου να κωδικοποιήσετε με την ποιότητα ξεκινήστε να μαθαίνετε πώς να γράφετε μονάδες δοκιμών και να εντοπίζετε σφάλματα κώδικα ur.


Απάντηση 4:

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

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

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

Τώρα προσπαθώ να λύσω ξεχωριστά κάθε ένα από τα υπο-προβλήματα δημιουργώντας κάποιο πρότυπο / προσαρμοσμένο αλγόριθμο. Στη συνέχεια τροποποίησα λίγο τον κώδικα έτσι ώστε ο αριθμός των λειτουργιών διακλάδωσης (ή λήψης αποφάσεων) και ανάθεσης να είναι μικρότερος από τον προηγούμενο. Μπορείτε επίσης να μειώσετε τις δηλώσεις συνδυάζοντας δύο από αυτές, έτσι ώστε ο μεταγλωττιστής να μπορεί να τα επεξεργαστεί ως ενιαίο.

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

Σε περίπτωση που

αν

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

Προσωπικά ακολουθώ αυτό το είδος των πραγμάτων όταν πρόκειται για την κωδικοποίηση ενός προβλήματος. Ελπίζω ότι αυτό βοηθά!


Απάντηση 5:

Γράψτε ψευδοκώδικα για να σχεδιάσετε τις σκέψεις σας. Όταν γράφετε τον πραγματικό κώδικα, το κάνετε όσο το δυνατόν πιο απλό, ενώ ταυτόχρονα επιτυγχάνετε την εργασία που έχετε.

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

Γράψτε τις δοκιμές για τον κώδικα σας για να βεβαιωθείτε ότι πραγματικά κάνει αυτό που νομίζετε ότι πρέπει να κάνει. Ωστόσο, μην πάτε για κάλυψη κώδικα 100%. Σε εκείνο το σημείο, χάθηκε ο χρόνος για τον έλεγχο των πραγμάτων που δεν χρειάζεται να δοκιμαστούν.


Απάντηση 6:

Μπορείτε να μάθετε να κωδικοποιείτε αποτελεσματικά ακολουθώντας μερικά βασικά βήματα

  • Έχετε έναν βρόχο ανατροφοδότησης.
  • Μάθετε από λάθη.
  • Χρησιμοποιήστε ροή για τη βελτίωση της παραγωγικότητας.
  • Μην απλοποιήσετε τα πράγματα που χρειάζονται το χρόνο σας.
  • Χρησιμοποιήστε έναν μέντορα ή έναν οδηγό για βοήθεια.

Μπορείτε επίσης να μάθετε περισσότερα σχετικά με την κωδικοποίηση αποτελεσματικά και με παραγωγικότητα σε λιγότερο χρόνο, διαβάζοντας αυτό το blog-

Μάθετε τις καλύτερες συμβουλές παραγωγικότητας κωδικοποίησης

. Παρέχει μια λεπτομερή μελέτη σχετικά με την ύπαρξη ενός ποιοτικού προγραμματιστή σε λιγότερο χρόνο.


Απάντηση 7:

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

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

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


Απάντηση 8:

Χαρακτηριστικά του καθαρού κώδικα

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

  • Απόδοση Ο καθαρός κώδικας πρέπει να είναι γρήγορος και θα είναι ευκολότερο να διατηρηθεί. Τείνει να είναι ταχύτερη, καθώς υποδεικνύει ότι ο κώδικας έχει αναπτυχθεί επαρκώς και έχει επανασχεδιαστεί στην βασική του ιδέα.
  • Διατηρησιμότητα Ο πραγματικά διατηρήσιμος κώδικας είναι να το γράψω για άλλους ανθρώπους να διαβάζουν. Θα πρέπει να είναι ένας συνδυασμός σύντομης, απλής, συνεπούς και χρήσιμης ονομασίας με σαφή λογική. Πάντα σκεφτείτε με αυτό που έρχεται μετά από σας.
  • Καλά δομημένο Καλά δομημένο είναι το πώς τα διάφορα αντικείμενα σε μια βάση λογισμικού συνεργάζονται μεταξύ τους. Είναι σημαντικό για τον οργανισμό, καθώς καθορίζει το χρόνο που χρειάζεται και είναι δαπανηρό να αναπτυχθεί για να διατηρηθεί ένα σύστημα λογισμικού.
  • Θεωρείται από τους συνομηλίκους σας Είναι μια μαρτυρία για μια κατάλληλη δουλειά στο επάγγελμα, αν κάτι θεωρείται από τους συνομηλίκους σας. Όπως γνωρίζετε οι καλοί προγραμματιστές γνωρίζουν ότι ο καλός κώδικας και ο λειτουργικός προγραμματισμός είναι όταν οι συνομιλητές λένε καλά για τον κώδικα σας και προτιμούν να αντιγράψουν την επικόλληση από τα προγράμματά σας. Καταλαβαίνουν
  • Ευανάγνωστη Καλή αναγνωσιμότητα σημαίνει ότι όταν ένας νέος προγραμματιστής αγγίζει τον κώδικα, θα χρειαστεί λιγότερος χρόνος για να κατανοήσει τι κάνει ο κώδικας.
  • Ο Κώδικας Αξιοπιστίας που είναι σταθερός δεν θα προκαλέσει χωματερές που σημαίνει ότι είναι πιο αξιόπιστη στην εφαρμογή και να πάρει λιγότερους χρόνους διακοπής στην επιχείρηση.
  • Ακολουθεί πρότυπα Ο κώδικας πρέπει να ακολουθεί μια σειρά οδηγιών, κανόνων και κανονισμών που ορίζονται από τον οργανισμό. Θα βοηθήσει τους προγραμματιστές πιο εύκολα να κατανοήσουν και να διατηρήσουν τον πηγαίο κώδικα όταν συμμορφώνονται με τα πρότυπα. Η συνέπεια και η ομοιομορφία του κώδικα παρέχουν την καλύτερη επικοινωνία στο μηχάνημα.
  • Επεκτασιμότητα Αυτό σημαίνει πόσο εύκολα ο κώδικας μπορεί να συνηθίσει στις μεταβαλλόμενες συνθήκες και να προσθέσει στη νέα λειτουργικότητα. Δεν είναι όπως ο κώδικας που μόλις γράφεται δεν μπορεί να αλλάξει.

Πλεονεκτήματα του καθαρού κώδικα

  • Ο κωδικός σας είναι ευθύνη σας Ο κωδικοποιητής πρέπει να βεβαιωθεί για τον κώδικα ότι μπορεί να φανεί ίδια για τον ίδιο, ακόμη και μετά από έξι μήνες. Αν δεν είστε ικανός να ταξινομήσετε τον κωδικό σας, τότε έχετε μπερδευτεί και πήρατε πολύ χρόνο για να το διορθώσετε. Ακολουθήστε τις βέλτιστες πρακτικές για το καλύτερο αποτέλεσμα.
  • Εργάζεστε σε μια ομάδα Η ανάπτυξη ενός λογισμικού είναι μια ομαδική δουλειά και αν το μέλος της ομάδας σας δεν είναι σε θέση να καταλάβει τη λογική σας διαβάζοντας τον κώδικα από ότι δεν το κάνετε σωστά και χάνει πολύ χρόνο στην επίλυση συγκρούσεων. Ποτέ μην δώσετε αυτόν τον κώδικα στο μέλος της ομάδας σας, το οποίο ελάχιστα παραμένει αναπόσπαστο.
  • Εύκολο να συντηρηθεί και να επεκταθεί Είναι δύσκολο να προσθέσετε μια νέα ενότητα ή να αλλάξετε μια υπάρχουσα εάν δεν ακολουθείτε ποτέ ένα πρότυπο κατά την ανάπτυξη ενός έργου. Θα πρέπει να είναι εύκολο, ώστε οποιοσδήποτε προγραμματιστής να μπορεί να επεκτείνει ή να κάνει αλλαγές σε αυτό. Κάθε κωδικοποίηση χρειάζεται συντήρηση και ανάπτυξη μετά από έξι μήνες.
  • Εύκολη εντοπισμός σφαλμάτων Ο προγραμματιστής πρέπει να συνδεθεί σωστά και να χρησιμοποιήσει ξεχωριστές κλάσεις ή μεθόδους έτσι ώστε να μπορεί να εντοπιστεί σφάλμα και να επιλυθεί το ακριβές ζήτημα βήμα προς βήμα. Εάν έχετε γράψει όλα τα κωδικοποίηση σε ένα αρχείο, χωρίς αρχεία καταγραφής και δεν υπάρχει κατάλληλη μεθοδολογία ακολουθεί από ό, τι θα καταλήξετε με το περιστρεφόμενο κεφάλι.
  • Ιδιοκτήτης του προϊόντος Αναπτύξτε ένα έργο για έναν πελάτη με τον τρόπο που μπορεί να το αναπτύξει μετά την ολοκλήρωση γρήγορα καθώς πληρώνει τον πηγαίο κώδικα. Εάν θέλει να το τροποποιήσει αργότερα, τότε μπορεί να πάρει ευκολία σε αυτό.

Καθαρές αρχές κώδικα

Υπάρχουν τρεις βασικές αρχές για να γράψετε καθαρό κώδικα:

  • Επιλέξτε πάντα το σωστό εργαλείο για την κωδικοποίηση στην ανάπτυξη λογισμικού.
  • Βελτιστοποιήστε την αναλογία σήματος προς θόρυβο κάθε φορά έτσι ώστε να μην μπορεί να επηρεαστεί η κωδικοποίηση.
  • Προσπαθήστε να γράψετε τον αυτό-τεκμηριωμένο κώδικα έτσι ώστε να μπορείτε να το εξηγήσετε γρήγορα.

Ιδιότητες καθαρού κώδικα

  • Ο καθαρός κώδικας επικεντρώνεται στην αρχή της ενιαίας ευθύνης σε κάθε μέθοδο κωδικοποίησης, που σημαίνει ότι αν χρειάζεται να αλλάξετε μια τάξη, μπορείτε να την κάνετε χωρίς να διαταράξετε οποιαδήποτε τάξη και η αλλαγή δεν πρέπει να έρχεται με περισσότερες από μία. Δεν περιορίζεται μόνο η έννοια των τάξεων. Το SRP είναι μια πρακτική μονάδα σε ένα δεδομένο επίπεδο αφαίρεσης που είναι υπεύθυνο για μια ενιαία όψη ενός συστήματος. Είναι ένα χαρακτηριστικό της απαίτησης που μπορεί να αλλάξει άλλες πτυχές ανεξάρτητα.
  • Λύση για τον προβληματικό κώδικα Η γλώσσα του προγράμματος δεν το καθιστά απλό, αλλά ο προγραμματιστής κάνει τη γλώσσα απλή. Ο προγραμματιστής δεν πρέπει να χρησιμοποιήσει εναλλακτικούς τρόπους αντιμετώπισης, οι οποίοι καθιστούν τον κώδικα και τη γλώσσα συνήθως ανεπιθύμητο. Αν δηλώσετε ότι τα μέσα μιας λύσης μπορούν να κάνουν κάτι μόνο, σημαίνει ότι δεν αφιερώσατε αρκετό χρόνο για να βρείτε μια καλή, καθαρή λύση.
  • Ο κώδικας δεν πρέπει να είναι περιττός Ο κώδικας θα πρέπει να συμμορφώνεται με τον κανόνα DRY (δεν επαναλαμβάνετε τον εαυτό σας), καθώς οποιαδήποτε τροποποίηση οποιουδήποτε στοιχείου δεν απαιτεί αλλαγή σε άλλους λογικούς μη σχετικούς παράγοντες. Η επανάληψη των λέξεων στην κωδικοποίηση καθιστά πολύπλοκη και δεν θα χρησιμοποιηθεί σε οποιοδήποτε άλλο βασικό σύστημα.
  • Η ανάγνωση του κώδικά σας θα πρέπει να είναι ευχάριστη. Ο κώδικας θα πρέπει να είναι ευανάγνωστος ώστε ο προγραμματιστής να μπορεί να το διαβάσει χωρίς να ξοδεύει ώρες για να το σκάψει. Για αυτό, πολλοί από τους προγραμματιστές χρησιμοποιούν τους κανόνες KIS (Keep it simple) και YAGNI (δεν θα χρειαστείτε). Μην δημιουργείτε σύνθετους κώδικες. Σε αυτό το πρόγραμμα, η απλότητα πρέπει να είναι ένας βασικός στόχος. Ενθαρρύνει επίσης την εστίαση στα πιο απλά πράγματα του λογισμικού.
  • Εύκολα επεκταθεί από άλλο προγραμματιστή Γράψτε κώδικα για τους άλλους? μην το καταστήσετε χειρότερο για τον μεταγλωττιστή καθώς το γράφουμε για άλλους προγραμματιστές. Εάν είναι περίπλοκο, τότε μπορεί να είναι βασανιστήρια για τους άλλους και πρέπει να προσέξουμε καθώς είναι μέλη της ομάδας μας. Θα πρέπει να είναι συντηρητή και επεκτάσιμη.
  • Ελάχιστες εξαρτήσεις Εάν ο κώδικας εξαρτάται, τότε είναι πιο δύσκολο να διατηρηθεί ή να τροποποιηθεί στο μέλλον. Η απλούστευση μπορεί να σας βοηθήσει στο μέλλον να επιτύχετε στόχους. Αν ο κώδικας εξαρτάται, τότε υπάρχει πιθανότητα λανθασμένης συμπεριφοράς.
  • Μικρότερος ενισχυμένος Ο κώδικας πρέπει να είναι ελάχιστος στις δύο κατηγορίες και μεθόδους. Κατά προτίμηση, ο κώδικας θα είναι σε λίγες γραμμές και θα είναι καλά χωρισμένος σε κάθε κατηγορία. Όσο καλύτερα διαιρείτε τον κώδικα σας, τόσο πιο εύκολο γίνεται να το διαβάσετε. Θα πρέπει επίσης να είναι ευχάριστη, ευανάγνωστη και ευκολότερη στην κατανόηση του δημιουργού.
  • Μονάδα και αποδοχή Η δοκιμή είναι ο πιο κρίσιμος παράγοντας στην κωδικοποίηση. Πώς μπορούμε να κάνουμε δοκιμές και να τρέξουμε χωρίς φόβο ότι θα σταματήσω να δουλεύω; Εάν η συντήρησή του και επεκτάσιμη τότε μπορούμε να εμπιστευθούμε σε δοκιμές. Η κωδικοποίηση πρέπει να σταθεί σε πυλώνες, πράγμα που σημαίνει ότι πρέπει να υπάρχει η βάση που μπορεί να υποστηρίξει αν κάτι πάει στραβά.
  • Θα πρέπει να είναι εκφραστικά Τα ονόματα του κώδικα θα πρέπει να είναι υποδηλωτικά, καθώς δείχνουν την πρόθεση ότι αυτό που δουλεύει και επίσης δεν παραπλανάει έναν άλλο προγραμματιστή. Θα πρέπει να είναι διακριτικό, τότε καθιστά την τεκμηρίωση λιγότερο σημαντική. Ο κώδικας πρέπει να είναι αυτο-τεκμηριωμένος, ώστε να χρειάζεται λιγότερο χρόνο για κατανόηση.
  • Πλήρης εμφάνιση κώδικα λογισμικού Η λειτουργικότητα του κώδικα έχει μεγάλη σημασία για τον προγραμματιστή. Η χρήση της σωστής εσοχής, η απόσταση και η χρήση κεφαλαίων κάνει το λογισμικό και το πρόγραμμα εύκολο να κατανοηθούν. Προσπαθήστε να δώσετε μια καλύτερη εμφάνιση στον κώδικα, όπως φαίνεται απλά.

Πηγή:

Ο μύθος του καθαρού κώδικα: 10 ποιότητες ο κώδικας σας πρέπει να έχει!

Το κανάλι μου στο YouTube:

Ritul Kumawat