Το TSLint είναι ένα εργαλείο επικύρωσης Typescrip{filter}t για τον εντοπισμό κώδικα.
TSLint: comment must start with a space (comment-format)
Τα σχόλια πρέπει να ξεκινούν με ένα κενό (μορφή σχολίου)
Δηλαδή, το // πρέπει να ακολουθείται από ένα κενό.
"Λείπει ερωτηματικό." : "Λείπει ερωτηματικό." "Χρησιμοποιήστε τη μορφή συνάρτησης \"use strict\"." : "Ορισμός συνάρτησης χρησιμοποιώντας τυποποίηση.", "Απροσδόκητος χώρος μετά το '-'." : "Δεν πρέπει να υπάρχει χώρος μετά το '-'.", "Αναμένεται μια τιμή JSON." : "Παρακαλώ μεταβιβάστε μια τιμή JSON.", "Μεικτά διαστήματα και στηλοθέτες.": "Τα κενά διαστήματα και οι στηλοθέτες επαναλαμβάνονται.", "Μη ασφαλής χαρακτήρας." : "Μη ασφαλής χαρακτήρας." "Η γραμμή είναι πολύ μεγάλη.": "Οι χαρακτήρες σε αυτή τη γραμμή υπερβαίνουν το καθορισμένο μέγιστο μήκος.", "Trailing whitespace.": "Υπάρχουν πάρα πολλά άχρηστα κενά στο τέλος αυτής της γραμμής.". "scrip{filter}t URL." : "URL σεναρίου.", "Απροσδόκητο {a} στο '{b}'." : "{a}.", "Απροσδόκητο '{a}'." : "'{a}'.", "Οι συμβολοσειρές πρέπει να χρησιμοποιούν διπλά εισαγωγικά." "Περιττή διαφυγή." : "Δεν απαιτείται διαφυγή." "Χαρακτήρας στοιχείου ελέγχου στη συμβολοσειρά: {a}." : "Ο χαρακτήρας του στοιχείου ελέγχου εμφανίζεται στη συμβολοσειρά", "Αποφύγετε \\'." : "Αποφύγετε \\", "Αποφύγετε \\v." : "Αποφύγετε \\v", "αποφύγετε \\x-." : "αποφύγετε \\x-", "Κακή διαφυγή." : "Λάθος χαρακτήρας διαφυγής", "Κακός αριθμός '{a}'." : "Κακός αριθμός '{a}'", "Λείπει διάστημα μετά το '{a}'." : "Λείπει διάστημα μετά το '{a}'", "Μην χρησιμοποιείτε επιπλέον μηδενικά στην αρχή '{a}'." : "Μην χρησιμοποιείτε επιπλέον 0 μπροστά από το '{a}'", «Αποφύγετε το 0x-. « {a}'." : "Αποφύγετε τη χρήση 0x-. ' {a}'.", "Μια υποδιαστολή στο τέλος μπορεί να συγχέεται με μια τελεία '{a}'." : "Χρησιμοποιήστε μια τελεία στο τέλος της υποδιαστολής στο '{a}'", "Απροσδόκητο σχόλιο." : "Τα σχόλια δεν πρέπει να εμφανίζονται εδώ", "Χωρίς διαφυγή '{a}'." : "Χωρίς διαφυγή '{a}'", "Μη αναμενόμενος χαρακτήρας ελέγχου σε κανονική έκφραση." : "Ο χαρακτήρας ελέγχου εμφανίστηκε σε κανονική έκφραση", "Απροσδόκητος χαρακτήρας διαφυγής "{a}" σε κανονική έκφραση." : "Ο απροσδόκητος χαρακτήρας διαφυγής "{a}" εμφανίστηκε σε κανονική έκφραση", "Αναμενόταν το "{a}" και αντ' αυτού είδε το "{b}"." : "Θα πρέπει να αντικατασταθεί το "{b}" με το "{a}"", «Οι χώροι είναι δύσκολο να μετρηθούν. Χρησιμοποιήστε {{a}}." : "Τα κενά είναι δύσκολο να μετρηθούν, χρησιμοποιήστε {{a}}", "Μη ασφαλές '{a}'." : "Μη ασφαλές '{a}'", "Κενή τάξη." : "κενή τάξη", "Περίμενα έναν αριθμό και αντ' αυτού είδα '{a}'.":"Θα πρέπει να αντικατασταθεί με '{a}'", «Το '{a}' δεν πρέπει να είναι μεγαλύτερο από το '{b}'». "Το 'hasOwnProperty' είναι ένα πολύ κακό όνομα.": "Το 'hasOwnProperty' είναι μια λέξη-κλειδί", "Το '{a}' χρησιμοποιήθηκε πριν οριστεί.": "Το '{a}' χρησιμοποιήθηκε πριν οριστεί.", "Το '{a}' έχει ήδη οριστεί.":"Το '{a}' έχει οριστεί επανειλημμένα", "Μια τελεία που ακολουθεί έναν αριθμό μπορεί να συγχέεται με μια υποδιαστολή.": "Μια τελεία που ακολουθεί έναν αριθμό μπορεί να εκληφθεί λανθασμένα ως υποδιαστολή σε δεκαδικό", "Μπερδεμένα μείον" : "μπερδεμένη αρνητική έκφραση-", "Μπερδεμένα συν." : "μπερδεμένη θετική έκφραση+", "Ασύγκριτο '{a}'." : "Αταίριαστο '{a}'", "Αναμενόταν το '{a}' να ταιριάζει με το '{b}' από τη γραμμή {c} και αντ' αυτού είδε '{d}'.": "Στη γραμμή {c} είναι απαραίτητο να ταιριάξετε '{a}' και '{b}' αντί για '{d}'", "Απροσδόκητο πρόωρο τέλος του προγράμματος.": "Απροσδόκητο πρόωρο τέλος του προγράμματος", «Μια υποδιαστολή στην αρχή μπορεί να συγχέεται με μια τελεία: «. {a}'.":"Η τελεία πριν από το '{a}' συγχέεται εύκολα με μια υποδιαστολή", "Χρησιμοποιήστε την κυριολεκτική σημειογραφία του πίνακα [].": "Χρησιμοποιήστε το σύμβολο του πίνακα []", "Περίμενα έναν τελεστή και αντ' αυτού είδα το '{a}'.":"Πρέπει να αντικατασταθεί το '{a}' με ένα σύμβολο", "Μη αναμενόμενο διάστημα μετά το '{a}'.": "Δεν υπάρχει κενό μετά το '{a}'", "Μη αναμενόμενο διάστημα πριν από το '{a}'.": "Δεν υπάρχει κενό πριν από το '{a}'", "Κακή αλλαγή γραμμής πριν από το '{a}'.": "Λανθασμένη αλλαγή γραμμής πριν από το '{a}'", "Αναμένεται το '{a}' να έχει εσοχή στο {b} αντί για {c}.": "Το '{a}' πρέπει να έχει εσοχή στο {c} αντί για {b}", "Σφάλμα αλλαγής γραμμής '{a}'.":"Σφάλμα αλλαγής γραμμής '{a}'", "Απροσδόκητη χρήση του '{a}'.":"'{a}' δεν μπορεί να χρησιμοποιηθεί εδώ", "Κακός τελεστής.": "Λάθος τελεστέος", "Χρησιμοποιήστε τη συνάρτηση isNaN για σύγκριση με NaN.": "Χρησιμοποιήστε το isNaN για σύγκριση με NaN", "Συγκεχυμένη χρήση του '{a}'.": "Συγκεχυμένη χρήση του '{a}'", "Μόνο για ανάγνωση.": "Μόνο για ανάγνωση", "Το '{a}' είναι μια συνάρτηση.":"Το '{a}' είναι μια συνάρτηση", 'Κακή ανάθεση.': 'Λάθος ανάθεση', "Να μην γίνεται αντιστοίχιση στην παράμετρο εξαίρεσης.": "Να μην εκχωρούνται τιμές σε πρόσθετες παραμέτρους", "Αναμενόταν ένα αναγνωριστικό σε μια ανάθεση και αντ' αυτού είδε μια κλήση συνάρτησης.": "Πρέπει να υπάρχει ένα αναγνωριστικό στη δήλωση ανάθεσης, όχι μια κλήση σε μια μέθοδο", "Περίμενα ένα αναγνωριστικό και αντ' αυτού είδα '{a}' (μια δεσμευμένη λέξη).":"Πρέπει να υπάρχει ένα αναγνωριστικό αντί για '{a}' (μια δεσμευμένη λέξη)", "Λείπει το όνομα στη δήλωση συνάρτησης.": "Λείπει το όνομα στη δήλωση μεθόδου", "Περίμενα ένα αναγνωριστικό και αντ' αυτού είδα '{a}'.":"Πρέπει να υπάρχει ένα αναγνωριστικό αντί για '{a}'", «Οι εσωτερικές συναρτήσεις πρέπει να παρατίθενται στην κορυφή της εξωτερικής συνάρτησης». , "Μη προσβάσιμο '{a}' μετά το '{b}'.":"Δεν είναι δυνατή η λήψη του '{a}' μετά το '{b}'", «Περιττό ερωτηματικό». "Επισημάνετε το "{a}" στη δήλωση {b}.": "Βάλτε το "{a}" στη δήλωση του {b}", "Η ετικέτα '{a}' μοιάζει με javascrip{filter}t url.": "Το '{a}' μοιάζει με σύνδεσμο js", "Αναμενόταν μια κλήση ανάθεσης ή συνάρτησης και αντ' αυτού είδε μια έκφραση": "Απαιτεί μια κλήση ανάθεσης ή συνάρτησης αντί για μια έκφραση.", "Μην χρησιμοποιείτε το "νέο" για παρενέργειες.": "Μην χρησιμοποιείτε τη δήλωση "νέο".", "Περιττό\"χρησιμοποιήστε αυστηρό\".":"Περιττό\"χρησιμοποιήστε αυστηρό\".", "Λείπει η δήλωση \"use strict\".":"Λείπει η δήλωση \"use strict\"", "Κενό μπλοκ.": "κενή μονάδα", "Απροσδόκητο /*μέλος '{a}'.":"Το στοιχείο /* '{a}'.", "'{a}' είναι μια ετικέτα δήλωσης.": "Το '{a}' είναι μια δήλωση", "'{a}' χρησιμοποιείται εκτός πεδίου εφαρμογής.":"'{a}' χρησιμοποιείται εκτός πεδίου εφαρμογής", "Το '{a}' δεν επιτρέπεται.":"'{a}'", "Το '{a}' δεν ορίζεται.": "Το '{a}' δεν ορίζεται", "Χρησιμοποιήστε το '{a}' για σύγκριση με το '{b}'.": "Χρησιμοποιήστε το '{a}' για σύγκριση με το '{b}'", "Οι μεταβλητές δεν πρέπει να διαγραφούν.": "Οι μεταβλητές πρέπει να διαγραφούν", "Χρησιμοποιήστε την κυριολεκτική σημειογραφία του αντικειμένου {}.":"Χρησιμοποιήστε την κυριολεκτική σημειογραφία του αντικειμένου {}", "Μην χρησιμοποιείτε το {a} ως κατασκευαστή.": "Μην χρησιμοποιείτε το {a} ως κατασκευαστή", "Ο κατασκευαστής της συνάρτησης είναι eval.":"Ο κατασκευαστής της συνάρτησης είναι eval.", "Το όνομα ενός κατασκευαστή πρέπει να ξεκινά με κεφαλαίο γράμμα.": "Το όνομα ενός κατασκευαστή πρέπει να αρχίζει με κεφαλαίο γράμμα.", "Κακός κατασκευαστής.": "Λάθος κατασκευαστής", «Περίεργη κατασκευή. Διαγράψτε το 'νέο'.": "Ο κατασκευαστής κάνει λάθος, παρακαλώ διαγράψτε το 'νέο'", "Λείπει το '()' που καλεί έναν κατασκευαστή.":"Λείπουν παρενθέσεις ()", «Αποφύγετε τις διαφωνίες. {a}.":"Παράμετρος αποφυγής. {α}.", "document.write μπορεί να είναι μια μορφή eval.":"document.write είναι μια μορφή eval", «Το eval είναι κακό.»: «Προσπαθήστε να μην χρησιμοποιείτε το eval», "Τα μαθηματικά δεν είναι συνάρτηση.": "Τα μαθηματικά δεν είναι συνάρτηση", "Λείπει το πρόθεμα 'new' κατά την επίκληση ενός κατασκευαστή.": "Το 'new' λείπει εδώ", "Λείπει η παράμετρος ρίζας.": "Λείπει παράμετρος", «Το υπονοούμενο eval είναι κακό. Περάστε μια συνάρτηση αντί για μια συμβολοσειρά.": "Περάστε μια συνάρτηση αντί για μια συμβολοσειρά", "Κακή επίκληση.": "Λάθος επίκληση", Το "['{a}'] είναι καλύτερα γραμμένο σε σημειογραφία τελείας.":"Το ['{a}'] χρησιμοποιείται καλύτερα τελεία. τρόπο", "Επιπλέον κόμμα.": "Επιπλέον κόμμα", "Να μην δημιουργούνται συναρτήσεις μέσα σε βρόχο.": "Να μην δημιουργούνται συναρτήσεις σε βρόχο", "Μη αναμενόμενη παράμετρος '{a}' στη συνάρτηση get {b}.":"Η παράμετρος '{a}' δεν πρέπει να χρησιμοποιείται στη μέθοδο {b}", "Διπλότυπο μέλος '{a}'.":"Διπλότυπο '{a}'", "Περίμενα να δω μια δήλωση και αντ' αυτού είδα ένα μπλοκ.": "Αυτή θα έπρεπε να είναι μια δήλωση δήλωσης.", "Πάρα πολλές δηλώσεις var.": "Δηλώσεις πάρα πολλών var", "Επαναπροσδιορισμός του '{a}'.":"Το '{a}' ορίζεται επανειλημμένα", "Δεν είναι απαραίτητο να αρχικοποιήσετε το "{a}" σε "απροσδιόριστο"." "Περίμενα μια έκφραση υπό συνθήκη και αντ' αυτού είδα μια ανάθεση.": "Εδώ χρειάζεται μια έκφραση, όχι μια δήλωση ανάθεσης", "Αναμενόταν μια δήλωση "διακοπής" πριν από την "υπόθεση".", "Αναμενόταν μια δήλωση "break" πριν από την "προεπιλογή".":" Απαιτείται "break" πριν από την "προεπιλογή".", «Αυτός ο «διακόπτης» θα πρέπει να είναι ένα «αν».», "Όλες οι δηλώσεις 'debugger' θα πρέπει να αφαιρεθούν.": "Παρακαλώ διαγράψτε τη δήλωση 'debugger'", "Το '{a}' δεν είναι ετικέτα δήλωσης.", "Αναμενόταν μια κλήση ανάθεσης ή συνάρτησης και αντ' αυτού είδε μια έκφραση.": "Απαιτεί μια κλήση δήλωσης ή συνάρτησης αντί για μια έκφραση", «Οι δηλώσεις συναρτήσεων δεν πρέπει να τοποθετούνται σε μπλοκ. Χρησιμοποιήστε μια έκφραση συνάρτησης ή μετακινήστε τη δήλωση στην κορυφή της εξωτερικής συνάρτησης.":"Η δήλωση της συνάρτησης δεν μπορεί να τοποθετηθεί σε ένα μπλοκ που μοιάζει με if, πρέπει να τοποθετηθεί πάνω από την εξωτερική συνάρτηση."
Ακολουθούν μερικά παραδείγματα ορισμένων συμβουλών που συναντάτε στο έργο σας:
1 [W099]: Μεικτά διαστήματα και στηλοθέτες
Αυτό το σφάλμα είναι το πιο συνηθισμένο, που σημαίνει ότι στην ίδια γραμμή, τα κενά και η εσοχή καρτέλας αναμειγνύονται και η τροποποίηση είναι πολύ απλή, συνήθως διαγράψτε την εσοχή καρτέλας και αλλάξτε τα όλα σε κενό. Για ευκολία, μπορούμε να ορίσουμε την εσοχή καρτέλας του επεξεργαστή σε 2 ή 4 κενά αντί για την αρχική εσοχή.
2 [W030]:Αναμενόταν μια κλήση ανάθεσης ή συνάρτησης και αντ' αυτού είδε μια παράσταση
Αυτό το σφάλμα είναι πολύ περίεργο, χρησιμοποιώ τον ακόλουθο κώδικα για να ζητήσω αυτό το σφάλμα index-1 <0 ? δείκτης = 0:δείκτης = δείκτης - 1; Αυτή είναι μια έκφραση κόμματος, αλλά η JSLInt πιστεύει ότι δεν πρέπει να είναι μια έκφραση εδώ, αλλά μια συνάρτηση, οπότε αν σας ενδιαφέρει αυτό το σφάλμα, αλλάξτε το σε μια δήλωση if else
3 [W041]:Χρησιμοποιήστε το '===' για σύγκριση με ...
Αυτό το λάθος σημαίνει ότι εάν χρησιμοποιήσουμε congruence αντί για equal, εάν οι τύποι δεδομένων και στις δύο πλευρές της έκφρασης είναι ίδιοι, συνιστάται να χρησιμοποιήσουμε congruence για να κρίνουμε
4 [W033]:Λείπει ερωτηματικό
λείπουν ερωτηματικά. Αυτό συνήθως το ξεχνάτε μόνοι σας, αλλά ένα πράγμα που πρέπει να σημειώσετε είναι ότι για δομές με μία μόνο πρόταση, τα ερωτηματικά πρέπει επίσης να γραφτούν αργότερα. Για παράδειγμα: if(index<0) {index=tcount-1} γράφεται σωστά ως if(index<0) {index=tcount-1; }, συχνά ξεχνάω να γράψω ερωτηματικά εδώ, ιδρώνω...
Υπάρχουν επίσης ορισμένες προτροπές σφάλματος, οπότε ας τις αλλάξουμε ανάλογα και ας καλλιεργήσουμε το δικό σας καλό στυλ κώδικα και συνήθειες γραφής.
|