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

Άποψη: 8677|Απάντηση: 0

Γιατί δεν μπορείτε να κάνετε χωρίς το Stackoverflow;

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 4/10/2016 9:30:55 π.μ. | | | |
Ως προγραμματιστής, αν δεν έχετε ακούσει για το Stackoverflow, καλύτερα να το σκεφτείτε. Ένα από τα βιβλία προγραμματισμού που πρέπει να διαβάσουν περισσότερο οι προγραμματιστές (στην πραγματικότητα, αρκεί να το αφήσουμε για βιβλία προγραμματισμού!). ):

(Η αρχική σελίδα του Jun εισήχθη έντονα, η παραπάνω εικόνα είναι μια ψεύτικη εικόνα, ορισμένοι χρήστες του Διαδικτύου δεν το καταλάβαιναν πριν, ειδικά για να το πουν)
Για όσους προγραμματιστές δεν έχουν διαβάσει ακόμα το βιβλίο, ήρθε η ώρα να αγοράσουν ένα. Εάν εξακολουθείτε να είστε στο φράχτη, ρίξτε μια ματιά σε αυτό το άρθρο για να δείτε γιατί δεν μπορείτε να κάνετε χωρίς το StackOverflow.
Η σοφία του να κάνεις ερωτήσεις
Όταν κάνετε μια τεχνική ερώτηση, το αν θα καταλήξετε να λάβετε μια χρήσιμη απάντηση εξαρτάται συχνά από τον τρόπο με τον οποίο ρωτάτε και παρακολουθείτε. —— Έρικ Σ. Ρέιμοντ
Μερικές φορές, μια σαφής περιγραφή ενός προβλήματος, ειδικά ενός τεχνικού, δεν είναι τόσο απλή όσο φαίνεται. Το να κάνεις ερωτήσεις ήταν πάντα επιστήμη, αλλά δυστυχώς πολλοί άνθρωποι δεν το συνειδητοποιούν ή δεν του δίνουν αρκετή προσοχή. Ή, ορισμένοι ερωτώντες δεν ζητούν καθόλου βοήθεια. Έτσι θα βρούμε κάθε είδους ερωτήσεις που οι άνθρωποι δεν μπορούν να απαντήσουν ή δεν θέλουν να απαντήσουν:
Πρόβλημα Java regex;
Τι είναι ο χρόνος απόκρισης SLA;
Ποια είναι η διαφορά μεταξύ των κλάσεων ATL και της κληρονομικότητας γενικής κλάσης;
Για να αποφύγετε το κλείσιμο ή την τροποποίηση του παραπάνω προβλήματος, βάλτε μια εικόνα εδώ για να αντιμετωπίσετε αυτό το πρόβλημα:

Μπορείτε να βρείτε ένα σωρό από αυτές τις ερωτήσεις στις αναπάντητες ερωτήσεις στο SegmentFault, έτσι πολλοί άνθρωποι προφανώς δεν έχουν τη σοφία ή τη στάση να κάνουν ερωτήσεις. Ο Raymond και ο Rick Moen έγραψαν ένα κλασικό δοκίμιο για το πώς να κάνετε ερωτήσεις The Smart Way (http://www.catb.org/~esr/faqs/smart-questions.html#translations), το οποίο έχει μεταφραστεί σε διάφορες γλώσσες και κυκλοφορεί ευρέως και μπορείτε να το βρείτε στην κινεζική έκδοση εδώ. Το Stackoverflow και το Segmentfalut έχουν επίσης προτάσεις για την υποβολή ερωτήσεων:
Κέντρο βοήθειας > ερωτήσεις
Πώς να ρωτήσετε
Πώς μπορώ να κάνω μια καλή ερώτηση;
Τι είδους ερωτήσεις είναι ευπρόσδεκτες
Υπάρχουν πάρα πολλές κλασικές ερωτήσεις στο Stackoverflow και μπορούμε να μάθουμε πώς να κάνουμε ερωτήσεις και να επικοινωνούμε με όσους απαντούν. Όταν συνηθίσετε να διαβάζετε ερωτήσεις στο stackoverflow, θα τις μιμηθείτε ασυνείδητα όταν κάνετε ερωτήσεις, αποφεύγοντας έτσι να κάνετε ανεγκέφαλες ερωτήσεις. Ακολουθούν μερικές από τις πιο σημαντικές ερωτήσεις που πρέπει να προσέξετε όταν κάνετε ερωτήσεις:
Κάντε μια ερώτηση που η μηχανή αναζήτησης δεν έχει ικανοποιητική απάντηση (το Google είναι τουλάχιστον τεσσάρων σελίδων).
Κάντε ερωτήσεις που δεν μπορείτε να λύσετε μόνοι σας και έχετε προσπαθήσει πολύ
Προσπαθήστε να περιγράψετε το πρόβλημα όσο το δυνατόν σαφέστερα: καλή τυπογραφία, κώδικας, προτροπές σφαλμάτων, εικόνες κ.λπ
Κάντε τις ερωτήσεις σας χρήσιμες σε άλλους
Θα πρέπει να υπάρχει μια σαφής απάντηση στην ερώτηση και δεν θα πρέπει να υπάρχει υπερβολική υποκειμενικότητα
Διαφορετικά σχήματα
Πολλές φορές ελπίζουμε να βρούμε μια λύση, αλλά στο Stackoverflow, υπάρχουν συχνά απροσδόκητα κέρδη. Μπορεί να δείτε διαφορετικές λύσεις σε ένα πρόβλημα, συμπεριλαμβανομένων ακόμη και συγκρίσεων αυτών των λύσεων.
Ας υποθέσουμε τώρα ότι θέλετε να μάθετε πώς να καλέσετε μια εξωτερική εντολή στην Python, όπως ls -l, για να εκτυπώσετε ένα άρθρο κάτω από έναν κατάλογο. Google την εντολή python call system και η πρώτη είναι μια σχετική ερώτηση σχετικά με το stackoverflow: Κλήση εξωτερικής εντολής στην Python. (http://stackoverflow.com/questio ... l-command-in-python) (Τεχνικά ζητήματα Google, βασικά θα εμφανιστούν ζητήματα που σχετίζονται με το stackoverflow).
Στη συνέχεια, κάτω από αυτήν την ερώτηση, κάποιος συνοψίζει διάφορους τρόπους επίκλησης εξωτερικών εντολών:
os.system()
os.popen()
subprocess.popen()
subprocess.call()
subprocess.run()
Και κάθε μέθοδος εισάγεται επίσης, μπορείτε να επιλέξετε τη μέθοδο που ταιριάζει στο σενάριο της εφαρμογής σας. Ένα άλλο παράδειγμα είναι η ερώτηση Πώς να ελέγξετε εάν υπάρχει ένα αρχείο χρησιμοποιώντας Python; (http://stackoverflow.com/questio ... exists-using-python), το οποίο περιγράφει διαφορετικές μεθόδους στην Python για τον έλεγχο της παρουσίας ενός αρχείου.
Χρήση εργαλείων
Υπάρχουν πολλά ισχυρά εργαλεία που μπορούν να μας βοηθήσουν να μελετήσουμε καλύτερα τα προβλήματα, μπορεί να γνωρίζετε το εργαλείο εντοπισμού σφαλμάτων gdb, μπορεί να γνωρίζετε την ενότητα παρακολούθησης timeit της python, αλλά δεν γνωρίζετε τα εργαλεία που δεν γνωρίζετε. Πολλές φορές, όταν γνωρίζουμε για πρώτη φορά ένα εργαλείο, θα έχουμε την αίσθηση ότι συναντιόμαστε πολύ αργά. Ωστόσο, τα εργαλεία που σας αρέσουν είναι πάντα τόσο δύσκολο να τα βρείτε.
Στο Stackoverflow, μπορεί να υπάρχουν μερικά καλά εργαλεία σε κάθε ερώτηση, απάντηση ή σχόλιο και θα έχετε πάντα την ευκαιρία να βρείτε τα καλύτερα που έχουν μείνει πίσω από τις γραμμές.
Ακολουθεί μια λίστα με μερικά από τα υπέροχα εργαλεία που βρήκα:
Truss/Strace: Παρακολουθεί τις κλήσεις συστήματος και τα λαμβανόμενα σήματα Όταν εκτελείται μια διεργασία, το Strace μπορεί να παρακολουθεί τις κλήσεις συστήματος που δημιουργούνται από μια διαδικασία, συμπεριλαμβανομένων των παραμέτρων, των τιμών επιστροφής και του χρόνου εκτέλεσης. (Από την ερώτηση: Γιατί η ανάγνωση γραμμών από το stdin είναι πολύ πιο αργή στη C++ από την Python;)
vprof: Ένα οπτικό εργαλείο που αναλύει τα χαρακτηριστικά των προγραμμάτων Python, όπως ο χρόνος εκτέλεσης, η χρήση μνήμης κ.λπ. (Από την ερώτηση: Πώς μπορείτε να δημιουργήσετε προφίλ μιας Python;)
Regex 101: Ένας διαδικτυακός βοηθός κανονικών εκφράσεων που μπορεί να σας βοηθήσει να κατανοήσετε τη σημασία των κανονικών εκφράσεων, να διορθώσετε τις κανονικές εκφράσεις και να κάνετε απλά πειράματα. (Από το τεύχος: Εκμάθηση κανονικών εκφράσεων)
Ακολουθεί ένα απλό παράδειγμα του Regex 101:

Η διαδικασία της σκέψης
Πολλές φορές, όταν αντιμετωπίζουμε ένα πρόβλημα, δεν έχουμε τρόπο να ξεκινήσουμε και δεν ξέρουμε προς ποια κατεύθυνση να σκεφτούμε. Αλλά με το stackoverflow, μπορούμε εύκολα να μάθουμε τη συγκεκριμένη λύση και μερικές φορές ακόμη και να γνωρίζουμε τι σκέφτονται οι άλλοι όταν αντιμετωπίζουμε αυτό το πρόβλημα.
Ας υποθέσουμε ότι θέλετε να χρησιμοποιήσετε έναν διακοσμητή για να ολοκληρώσετε μια εργασία προσθέτοντας πριν και μετά τη συμβολοσειρά που επιστρέφεται από τη συνάρτηση say παρακάτω και σκέφτεστε να ορίσετε το say ως εξής.
@makebold
@makeitalic
def say():
επιστροφή"Γεια σας"
Κάθε κλήση για να πείτε επιστρέφει Γεια. Αλλά το πώς να εφαρμόσετε το makebold και το makeitalic είναι ένα πρόβλημα. Στο Stackoverflow, υπάρχουν μεγάλοι ταύροι που θα σας πουν απευθείας την απάντηση και θα σας ρίξουν έναν σύνδεσμο προς την τεκμηρίωση των διακοσμητών. Υπάρχουν όμως και οι Daniels που θα σας πουν λεπτομερώς για τη διαδικασία σκέψης τους και την κατανόησή τους για τους διακοσμητές, ώστε να κατανοήσετε βαθιά τον μηχανισμό του διακοσμητή.
Σε απάντηση στην παραπάνω ερώτηση, υπάρχει μια απάντηση που έχει λάβει περισσότερα από 3.000 likes, που σας λέει πώς να λύσετε το πρόβλημα βήμα προς βήμα. Πρώτα απ 'όλα, πείτε μας ποια είναι τα χαρακτηριστικά των συναρτήσεων στην python:
Οι συναρτήσεις είναι αντικείμενα
Μια συνάρτηση μπορεί να ανατεθεί σε μια μεταβλητή
Μια συνάρτηση μπορεί να οριστεί σε μια άλλη συνάρτηση
Μια συνάρτηση μπορεί να επιστρέψει μια άλλη συνάρτηση
Μπορείτε να περάσετε συναρτήσεις ως παραμέτρους
Στη συνέχεια, αρχίστε να εξηγείτε τι είναι ένας διακοσμητής: είναι στην πραγματικότητα ένας ενθυλακωτής, ο οποίος μας επιτρέπει να εκτελούμε άλλο κώδικα πριν και μετά την εκτέλεση της αρχικής λειτουργίας χωρίς να την τροποποιήσουμε. Ένα απλό πρωτότυπο διακοσμητή υλοποιείται με το χέρι, ακολουθούμενο από την εισαγωγή της σύνταξης του διακοσμητή στην Python. Τέλος, παρατίθενται ορισμένες προηγμένες χρήσεις των διακοσμητών, συμπεριλαμβανομένης της μετάδοσης παραμέτρων στους διακοσμητές. Διαβάστε ολόκληρη την απάντηση, σίγουρα θα έχετε μια βαθύτερη κατανόηση του διακοσμητή και θα γνωρίζετε τη διαδικασία σκέψης για την κατανόηση του διακοσμητή. Με αυτόν τον τρόπο, ακολουθώντας αυτό το μονοπάτι σκέψης, μπορείτε μόνοι σας να συμπεράνετε πώς να χρησιμοποιήσετε τους διακοσμητές.
Πιθανά τυφλά σημεία
Όταν δεν έχετε ερωτήσεις να κάνετε, μπορείτε επίσης να επισκέπτεστε το stackoverflow από καιρό σε καιρό, να περιηγηθείτε σε ορισμένες ερωτήσεις με περισσότερες ψήφους και να δείτε τι έχουν απαντήσει οι άλλοι. Σε αυτήν την τεράστια βάση γνώσεων, πιθανότατα θα βρείτε μερικά από τα γνωστικά τυφλά σημεία σας και θα ανακαλύψετε περιεχόμενο στο οποίο δεν έχετε δώσει ποτέ προσοχή.
Βρήκα μερικές ενδιαφέρουσες ερωτήσεις, όπως:
Εκτύπωση σε τερματικό με χρώματα χρησιμοποιώντας Python;
Τι είναι μια μετακλάση στην Python;
Ποια είναι η πιο παραγωγική συντόμευση με το Vim;
Έχω συγκεντρώσει μια λίστα με ερωτήσεις Python υψηλής ποιότητας εδώ για συχνή αναφορά.
Λυπάμαι που συναντηθήκαμε πολύ αργά
Πώς λοιπόν να βρείτε το StackOverflow, δύο προτάσεις:
Περιγράψτε το πρόβλημα με ακρίβεια στα αγγλικά
Γκουγκλάρετε το
Εφόσον δεν είστε το πρώτο άτομο που αντιμετωπίζει τεχνικό πρόβλημα, πιθανότατα θα βρείτε το ίδιο ή παρόμοιο πρόβλημα στο StackOverflow. Συναντηθείτε σύντομα, ερωτευτείτε νωρίς το Stackoverflow και θα διαπιστώσετε ότι η ζωή είναι τόσο άνετη.





Προηγούμενος:Το VPN σύνδεσης δέσμης των Windows τροποποιεί τον πίνακα δρομολόγησης
Επόμενος:node.js αρθρωτή διεπαφή
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com