Δύο από τα βασικά εργαλεία στην ανάπτυξη λογισμικού είναι Patch y Diff. Δεν είναι μυστήριο πώς λειτουργούν, αλλά νομίζω ότι αυτή θα είναι μια ενδιαφέρουσα ανάρτηση.
Και τα δύο είναι πολύ ισχυρά, και αυτό είναι ακριβώς όπως το άγγιγμα της επιφάνειας, έχουν περισσότερα βοηθητικά προγράμματα και άλλες λειτουργίες. Βασικά με αυτά τα δύο εργαλεία μπορούμε να δημιουργήσουμε έλεγχο έκδοσης,
Diff
Αναφερόμαστε στη σύγκριση, συγκρίνει ένα "πρωτότυπο" αρχείο με το "νέο" και μας ενημερώνει για τις διαφορές που υπάρχουν μεταξύ τους. Αυτό το εργαλείο μας επιτρέπει επίσης να δημιουργήσουμε αρχεία .patch που χρησιμοποιούμε για να δημιουργήσουμε ενημερώσεις κώδικα για τα προγράμματά μας.
Patch
Είναι η εντολή με την οποία κυριολεκτικά "διορθώνουμε" το αρχικό μας αρχείο, προσθέτοντας ή / και αφαιρώντας γραμμές σύμφωνα με τις οδηγίες που περιέχονται στο αρχείο .patch
Υπάρχει επίσης vimdiff, το οποίο είναι ένα οπτικό εργαλείο για την εφαρμογή ενημερώσεων κώδικα χωρίς την ανάγκη ενός αρχείου .patch, καθώς συγκρίνει "πρωτότυπο" και "νέο" και στο ίδιο αρχείο είναι δυνατή η επεξεργασία γραμμής κατά γραμμή ή ολόκληρου του εγγράφου. Αυτό δεν θα το εξηγήσω, αλλά νομίζω ότι αξίζει μια αναφορά.
Παράδειγμα
Τώρα η διασκέδαση είναι. Παράδειγμα!
Αυτό συμβαίνει, έχουμε ένα υπέροχο σενάριο που ζητά το όνομά σας και την ηλικία σας, εάν είστε άνω των 18 ετών, σας λέει ότι μπορείτε να ψηφίσετε, διαφορετικά σας λέει ότι δεν μπορείτε να ψηφίσετε.
πρωτότυπο.σ
#! / bin / bash echo "Εισαγάγετε το όνομά σας:" read name echo "Enter your age:" read age if [[18 -lt $ age]] και στη συνέχεια "echo" Γεια σας $ name, είστε $ $ και μπορείτε να ψηφίσετε! " αλλιώς ηχώ "Γεια σας $ name, είστε $ $ και δεν μπορείτε να ψηφίσετε ..." fi
Εικόνα του κωδικού στο Vim
Έγινε, εδώ είναι το σενάριο που εκτελείται:
Όλα φαίνεται να λειτουργούν καλά
Έτσι, ως καλοί χρήστες είμαστε, μοιραζόμαστε το σενάριό μας με έναν φίλο :), αλλά λαμβάνουμε ένα μήνυμα που λέει ότι έχει ένα ελάττωμα, ότι όταν είναι 18, λέει ότι δεν μπορεί να ψηφίσει πότε πρέπει.
Λογικό λάθος
Τώρα αρχίζουμε να διορθώνουμε το μικρό σφάλμα και να κάνουμε μερικές τροποποιήσεις ...
new.sh
#! / bin / bash maxAge = 18 echo "Πληκτρολογήστε το όνομά σας:"; διαβάστε το όνομα echo "Γράψτε την ηλικία σας:"; διαβάστε την ηλικία εάν [[$ maxAge -le $ age]]; στη συνέχεια, ηχώ "Γεια σας $ name, είστε $ ετών και μπορείτε να ψηφίσετε!" αλλιώς ηχώ "Γεια σας $ name, είστε $ ετών και δεν μπορείτε να ψηφίσετε ..." έξοδος 0
Νέος κωδικός γραμμένος σε ζωτικότητα
Ας υποθέσουμε ότι το σενάριο είναι πολύ βαρύ. Έτσι, για να μην ξαναστείλουμε ολόκληρο το σενάριο, δημιουργούμε ένα .patch
$ diff -u original.sh new.sh> patch.patch
Και τώρα έχουμε το έμπλαστρο μας. Εδώ είναι μια προβολή ζωτικότητα:
Έτσι είναι οι οδηγίες για ένα .patch. Σε λευκό οι γραμμές που δεν τροποποιήθηκαν, με μπλε αυτές που αφαιρέθηκαν, με πορτοκαλί αυτές που προστέθηκαν.
Και για να το εφαρμόσουμε απλά χρησιμοποιούμε το αρχείο .patch στο σενάριο που θα διορθωθεί. Εδώ λέγεται originalAmigo.sh, το οποίο είναι ένα ακριβές αντίγραφο του σεναρίου πρωτότυπο.σ
Σενάριο φίλου
$ patch originalFriend.sh <patch.patch
Και αυτό μας αφήνει το αρχείο μας originalAmigo.sh Ετσι:
Σενάριο φίλου μετά την εφαρμογή ενημέρωσης κώδικα
Όπως μπορείτε να δείτε, είναι πολύ εύκολο να λάβετε τις διαφορές και να εφαρμόσετε τα μπαλώματα. Είναι όλα από μένα.
Χαιρετισμούς, θα διαβάσουμε την επόμενη Παρασκευή.