tali adalah Python IDE. Tujuan utama Python tali adalah untuk menyediakan fitur seperti auto-completion, refactorings, bantuan konten, dan garis.
Refactoring: Dalam beberapa tahun terakhir refactoring telah menjadi tugas dasar pemrograman sehari-hari, khususnya di masyarakat Jawa. Dalam metodologi pemrograman tangkas, seperti Ekstrim Programing, Refactoring adalah salah satu praktik inti.
Beberapa IDE mendukung beberapa refactorings dasar seperti 'PyDev' (yang menggunakan sepeda perbaikan man). IDE ini memiliki seperangkat terbatas refactorings dan gagal ketika melakukan refactorings yang perlu mengetahui jenis objek dalam kode sumber (khusus untuk proyek-proyek yang relatif besar). tali mencoba untuk memberikan satu set kaya refactorings. Beberapa refactorings memerlukan jenis inferensia yang dijelaskan kemudian.
Auto Penyelesaian: Salah satu fitur dasar IDE modern adalah tersedianya auto-completion. Beberapa IDE Python memiliki dukungan auto-completion tetapi dalam bentuk yang terbatas. Karena jenis banyak variabel tidak dapat disimpulkan dari analisis sederhana dari kode sumber. Auto-menyelesaikan modul nama, nama kelas, metode statis, metode kelas, nama fungsi dan nama variabel yang mudah. Tapi auto-menyelesaikan metode dan atribut dari sebuah objek sulit. Karena IDE perlu mengetahui jenis objek yang tidak dapat dicapai dengan mudah sebagian besar waktu dalam bahasa dinamis. tali menggunakan Type Inferensia algoritma untuk memecahkan masalah ini.
Jenis Inferensia: Salah satu kelemahan dari bahasa dinamis seperti python adalah bahwa Anda tidak dapat mengetahui jenis variabel dengan analisis sederhana kode sumber program sebagian besar waktu. Mengetahui jenis variabel sangat penting untuk memberikan banyak refactorings dan auto-penyelesaian. tali akan menggunakan jenis inferensia untuk mengatasi masalah ini.
Statis jenis Inferencing menggunakan source code program untuk menebak jenis benda. Tapi program jenis inferensia python sangat sulit. Ada beberapa upaya meskipun tidak sangat sukses (contoh: psiko: hanya str dan int jenis, Starkiller: tidak dirilis dan ShedSkin: baik tapi terbatas). Mereka di mana sebagian besar diarahkan pada mempercepat program python dengan mengubah kode untuk bahasa diketik lain daripada membangun IDE. Algoritma tersebut mungkin bisa membantu.
Ada pendekatan lain terhadap jenis inferensia. Itulah analisis program yang berjalan. Pendekatan yang dinamis ini mencatat jenis variabel ditugaskan untuk selama pelaksanaan program. Meskipun pendekatan ini jauh lebih mudah diterapkan daripada alternatif, itu terbatas. Hanya bagian dari program yang dijalankan dianalisis. Jika pengembang menulis unit test dan menggunakan tes pembangunan berbasis pendekatan ini bekerja sangat baik
Apa yang baru dalam rilis ini:.
- codeassist: penanganan yang lebih baik dari unicode dalam docstrings
- codeassist: penanganan diketahui builtin, seperti sys.stdout
- codeassist: proposal lingkup dan jenis direvisi
- fscommands: menangani perubahan hg awak ui
- patchedast: menangani ExtSlice simpul
Apa yang baru dalam versi 0.9.2:
- Modul autoimport sekarang mendukung caching semua sub-modul dari modul.
- Rekursi ketika loading modul telah diperbaiki.
- dukungan dasar untuk setuptools telah ditambahkan.
- Metode ekstrak telah diubah untuk menangani update variabel kondisional.
Apa yang baru dalam versi 0.9.1:
- Variabel import_dynload_stdmods telah ditambahkan untuk mengurangi ukuran variabel extension_modules.
- Beberapa bug Windows-spesifik yang tetap.
Apa yang baru dalam versi 0.9:
- Perubahan sejak 0.8.4:
- mendukung Darcs VCS
- penanganan file dengan mac line-berakhir
- tidak mencari semua file ketika inlining variabel lokal
- masalah jalan cygwin tetap Beberapa perubahan sejak 0,8:
- variabel inlining dalam modul lain
- menambahkan `rope.contrib.findit.find_definition ()`
- modul ekstensi yang lebih baik penanganan
- menambahkan `rope.contrib.findit.find_definition ()`
- menambahkan dukungan GIT di fscommands
- parameter inlining
- kembali mengimpor nama-nama yang digarisbawahi dalam bergerak
- menambahkan `codeassist.get_calltip ()`
- menambahkan `libutils.analyze_modules ()`
- menambahkan `` proyek soa_followed_calls`` config
- `libutils.report_change ()` `membaca automatic_soa`
- penanganan properti dekorator
Persyaratan :
- Python
Komentar tidak ditemukan