Μορφοποιητής Flow
Μορφοποιήστε κώδικα JavaScript με τύπους Flow χρησιμοποιώντας αυτό το Flow Formatter. Επικολλήστε κώδικα με ψευδώνυμα τύπων, ακριβείς τύπους αντικειμένων, συναρτήσεις με σημειώσεις τύπων ή την οδηγία @flow και το εργαλείο αναδιατάσσει τη μορφοποίησή του token προς token, με εσοχή δύο διαστημάτων, διαστήματα στις σημειώσεις τύπων και στους τελεστές, ελληνικά ερωτηματικά στο τέλος των εντολών και χωρίς κενά μεταξύ των αγκυλών ακριβών αντικειμένων. Χρήσιμο για προγραμματιστές που συντηρούν βάσεις κώδικα Flow και θέλουν καθαρά αποσπάσματα για ελέγχους, μεταφορές και τεκμηρίωση.
Συχνές ερωτήσεις
Πώς λειτουργεί το Flow Formatter;
Διασπά τον κώδικά σας σε tokens, όπως άγκιστρα, ελληνικά ερωτηματικά, τελεστές, συμβολοσειρές και σχόλια, και αναδομεί τη διάταξη βάσει αυτών. Τα μπλοκ έχουν εσοχή δύο διαστημάτων, οι εντολές τελειώνουν με ελληνικά ερωτηματικά και οι τελεστές έχουν συνεπή διαστήματα.
Πώς μορφοποιούνται οι ακριβείς τύποι αντικειμένων;
Στους ακριβείς τύπους αντικειμένων, οι κάθετες γραμμές παραμένουν ακριβώς δίπλα στις αγκύλες, με ένα διάστημα στο εσωτερικό, για παράδειγμα type Props = {| name: string, age: number |}. Τα διαστήματα μετά τις άνω και κάτω τελείες και τα κόμματα μέσα στον τύπο κανονικοποιούνται.
Διατηρείται το σχόλιο @flow;
Ναι, η οδηγία // @flow και όλα τα άλλα σχόλια γραμμής και μπλοκ διατηρούνται. Ένα σχόλιο γραμμής τερματίζει πάντα τη γραμμή του, οπότε ο επόμενος κώδικας αρχίζει σε νέα γραμμή.
Ελέγχει το εργαλείο μορφοποίησης τους τύπους του κώδικά μου;
Όχι, δεν εκτελεί το Flow ούτε επικυρώνει τη σύνταξη, επομένως μορφοποιεί και ημιτελή αποσπάσματα. Εκτελέστε το flow check στο έργο σας για να εντοπίσετε σφάλματα τύπων.
Διατηρούνται τα generics και οι παράμετροι τύπων;
Ναι, οι γωνιακές αγκύλες σε τύπους όπως Array<string> ή Map<K, V> παρακολουθούνται ώστε να μην εκληφθούν ως τελεστές σύγκρισης. Τα διαστήματα μετά τα κόμματα στο εσωτερικό τους κανονικοποιούνται.
Μπορώ να αλλάξω το πλάτος της εσοχής;
Όχι, το αποτέλεσμα χρησιμοποιεί πάντα δύο διαστήματα και δεν υπάρχουν επιλογές μορφοποίησης. Έτσι διατηρείται συνεπής μορφοποίηση ανάμεσα στις εκτελέσεις και στα μέλη της ομάδας.
Αλλάζουν οι συμβολοσειρές;
Όχι, οι κυριολεκτικές τιμές συμβολοσειρών, οι κυριολεκτικές τιμές προτύπων και οι κανονικές εκφράσεις αντιγράφονται ακριβώς όπως γράφτηκαν. Αλλάζουν μόνο τα κενά μεταξύ των tokens.
Γιατί το αποτέλεσμα περικλείεται σε πλαίσιο javascript;
Το Flow είναι JavaScript με τύπους, οπότε το αποτέλεσμα επιστρέφεται ως μπλοκ κώδικα Markdown με σήμανση javascript, την οποία οι περισσότεροι μηχανισμοί επισήμανσης σύνταξης αποδίδουν σωστά. Αντιγράψτε τις γραμμές ανάμεσα στους οριοθέτες για το αρχείο .js ή .flow.
Θα αλλάξει η μορφοποίηση τη συμπεριφορά του κώδικά μου;
Το εργαλείο αναδιατάσσει μόνο τα κενά και προσθέτει ελληνικά ερωτηματικά στο τέλος των εντολών. Ελέγξτε το αποτέλεσμα αν ο κώδικάς σας βασίζεται σε γραμμές χωρίς ελληνικά ερωτηματικά που αρχίζουν με παρένθεση ή αγκύλη.
Πόσο κώδικα μπορώ να μορφοποιήσω;
Έως 5 MB κώδικα ανά εκτέλεση· μεγαλύτερες είσοδοι απορρίπτονται με σχετικό μήνυμα. Το αποτέλεσμα είναι ίδιο με την επιλογή Flow του Code Formatter.