σχοινί είναι ένας πύθωνας IDE. Ο κύριος στόχος της Python σχοινί είναι να παρέχει χαρακτηριστικά όπως αυτόματη συμπλήρωση, refactorings, βοήθεια περιεχομένου, και περιγράμματα.
Refactoring: Τα τελευταία χρόνια refactoring έχει γίνει ένα βασικό καθήκον της καθημερινής προγραμματισμός, ειδικά σε Java κοινότητα. Στις ευέλικτες μεθοδολογίες προγραμματισμός, όπως Extreme Προγραμματισμός, Refactoring είναι μια από τις βασικές πρακτικές.
Ορισμένοι υποστηρίζουν IDEs κάποιες βασικές refactorings όπως «PyDev» (το οποίο χρησιμοποιεί ποδήλατο άνθρωπος επισκευή). Αυτά τα ολοκληρωμένα περιβάλλοντα ανάπτυξης έχουν ένα περιορισμένο σύνολο των refactorings και αποτυγχάνουν όταν κάνει refactorings που πρέπει να γνωρίζετε τον τύπο των αντικειμένων στον πηγαίο κώδικα (ειδικά για σχετικά μεγάλα έργα). σχοινί προσπαθεί να παρέχει ένα πλούσιο σύνολο των refactorings. Μερικά από τα refactorings απαιτούν τύπου inferencing που περιγράφεται αργότερα.
Αυτόματη Συμπλήρωση: Ένα από τα βασικά χαρακτηριστικά της σύγχρονης IDEs είναι η διαθεσιμότητα της αυτόματης συμπλήρωσης. Μερικά IDEs Python έχουν την υποστήριξη αυτόματης συμπλήρωσης, αλλά σε μια περιορισμένη μορφή. Δεδομένου ότι το είδος πολλών μεταβλητών δεν μπορεί να συναχθεί από την απλή ανάλυση του πηγαίου κώδικα. Αυτόματη συμπλήρωση ενότητες ονόματα, ονόματα τάξη, στατικές μεθόδους, μεθόδους τάξη, λειτουργούν ονόματα και τα ονόματα των μεταβλητών είναι εύκολο. Αλλά αυτόματη συμπλήρωση των μεθόδων και των ιδιοτήτων ενός αντικειμένου είναι δύσκολο. Επειδή ο IDE πρέπει να γνωρίζει τον τύπο του αντικειμένου που δεν μπορεί να επιτευχθεί εύκολα τον περισσότερο χρόνο σε δυναμικές γλώσσες. σχοινί χρησιμοποιεί Τύπος inferencing αλγορίθμων για την επίλυση αυτού του προβλήματος.
Τύπος inferencing: Ένα μειονέκτημα δυναμικές γλώσσες όπως Python είναι ότι δεν μπορείτε να γνωρίζετε τον τύπο των μεταβλητών από μια απλή ανάλυση του πηγαίου κώδικα του προγράμματος το μεγαλύτερο μέρος του χρόνου. Γνωρίζοντας το είδος των μεταβλητών είναι πολύ σημαντικό για την παροχή πολλών από τις refactorings και αυτόματη ολοκληρώσεις. σχοινί θα χρησιμοποιήσει τον τύπο inferencing να ξεπεραστεί αυτό το πρόβλημα.
Στατικού τύπου inferencing χρησιμοποιεί το πρόγραμμα πηγαίο κώδικα για να μαντέψει τον τύπο των αντικειμένων. Αλλά τα προγράμματα τύπου inferencing Python είναι πολύ δύσκολο. Υπήρξαν κάποιες προσπάθειες όμως δεν είναι πολύ επιτυχημένη (παραδείγματα: ψυχο: μόνο str και int τύπους, Starkiller: δεν κυκλοφόρησε και ShedSkin: καλό αλλά περιορισμένες). Θα όπου κατευθύνεται κυρίως στην επιτάχυνση των προγραμμάτων Python με τη μετατροπή του κώδικα σε άλλες γλώσσες δακτυλογραφημένο αντί για την κατασκευή IDEs. Τέτοιοι αλγόριθμοι μπορεί να είναι χρήσιμη.
Υπάρχει και μια άλλη προσέγγιση προς τον τύπο inferencing. Αυτή είναι η ανάλυση της λειτουργίας των προγραμμάτων. Αυτή η δυναμική προσέγγιση καταγράφει τους τύπους οι μεταβλητές έχουν ανατεθεί κατά τη διάρκεια της εκτέλεσης του προγράμματος. Αν και αυτή η προσέγγιση είναι πολύ πιο εύκολο να εφαρμοστεί από την εναλλακτική λύση, είναι περιορισμένη. Μόνο τα μέρη του προγράμματος που εκτελούνται αναλύονται. Αν προγραμματιστές γράφουν εξετάσεις μονάδα και να χρησιμοποιήσετε δοκιμή με γνώμονα την ανάπτυξη αυτή η προσέγγιση λειτουργεί πολύ καλά
Τι είναι καινούργιο σε αυτή την έκδοση:.
- codeassist: καλύτερο χειρισμό του unicode σε docstrings
- codeassist: χειρισμό ενσωματωμένη αγνώστους, όπως sys.stdout
- codeassist: προτάσεις πεδία και τους τύπους αναθεωρημένο
- fscommands: χειριστεί τις αλλαγές UI πλήρωμα Hg
- patchedast: χειριστεί ExtSlice κόμβο
Τι είναι καινούργιο στην έκδοση 0.9.2:
- Η μονάδα autoimport υποστηρίζει τώρα την προσωρινή αποθήκευση όλων των υπο-ενότητες μιας ενότητας.
- Αναδρομή κατά τη φόρτωση ενοτήτων έχει καθοριστεί.
- έχει προστεθεί βασική υποστήριξη για setuptools.
- Η μέθοδος εκχύλισμα έχει αλλάξει για να χειριστεί υπό όρους μεταβλητή ενημερώσεις.
Τι είναι καινούργιο στην έκδοση 0.9.1:
- έχει προστεθεί import_dynload_stdmods Η μεταβλητή για να μειώσει το μέγεθος της extension_modules μεταβλητής.
- Μερικά ειδικά στα Windows σφάλματα έχουν καθοριστεί.
Τι είναι καινούργιο στην έκδοση 0.9:
- Οι αλλαγές από το 0.8.4:
- υποστηρίζοντας Darcs VCS
- χειρισμό αρχείων με mac γραμμή τελειώνει
- Δεν αναζήτηση όλων των αρχείων κατά εσωτερική επένδυση που μια τοπική μεταβλητή
- Προβλήματα στη διαδρομή που καθορίζεται cygwin Ορισμένες από τις αλλαγές από το 0.8:
- μεταβλητή εσωτερική επένδυση σε άλλες ενότητες
- πρόσθεσε `rope.contrib.findit.find_definition ()`
- χειρισμό καλύτερη μονάδα επέκτασης
- πρόσθεσε `rope.contrib.findit.find_definition ()`
- πρόσθετη υποστήριξη GIT σε fscommands
- παράμετροι εσωτερική επένδυση
- πίσω εισαγωγής υπογραμμισμένα ονόματα στην κίνηση
- πρόσθεσε `codeassist.get_calltip ()`
- πρόσθεσε `libutils.analyze_modules ()`
- πρόσθεσε `` soa_followed_calls`` έργο config
- `libutils.report_change ()` `διαβάζει automatic_soa`
- χειρισμό διακοσμητής ιδιοκτησίας
Απαιτήσεις :
- Python
Τα σχόλια δεν βρέθηκε