เชือกเป็น IDE หลาม เป้าหมายหลักเชือกงูใหญ่คือการให้คุณสมบัติเช่นอัตโนมัติเสร็จ refactorings ช่วยเหลือเนื้อหาและโครงร่าง
Refactoring: ในปีที่ผ่านมา refactoring ได้กลายเป็นงานพื้นฐานของการเขียนโปรแกรมในชีวิตประจำวันโดยเฉพาะในชุมชน java ในวิธีการเขียนโปรแกรมเปรียวเช่นสุดขีด Programing, Refactoring เป็นหนึ่งของการปฏิบัติหลัก
IDEs บางสนับสนุนบางส่วน refactorings พื้นฐานเช่น 'PyDev' (ซึ่งใช้คนซ่อมจักรยาน) IDEs เหล่านี้มีชุด จำกัด ของ refactorings และล้มเหลวเมื่อทำ refactorings ที่จำเป็นต้องทราบชนิดของวัตถุในรหัสที่มา (พิเศษสำหรับโครงการที่ค่อนข้างใหญ่) เชือกพยายามที่จะให้ชุดสมบูรณ์ของ refactorings บางส่วนของ refactorings ต้องสรุปอิงชนิดซึ่งจะอธิบายในภายหลัง
อัตโนมัติแล้วเสร็จ: หนึ่งในคุณสมบัติพื้นฐานของ IDEs ทันสมัยเป็นความพร้อมของรถยนต์เสร็จ บางหลาม IDEs มีการสนับสนุนอัตโนมัติเสร็จ แต่ในรูปแบบที่ จำกัด ตั้งแต่ประเภทของตัวแปรจำนวนมากไม่สามารถสรุปได้ว่าจากการวิเคราะห์ง่ายของรหัสที่มา Auto-เสร็จสิ้นชื่อโมดูลชื่อชั้นวิธีการแบบคงที่วิธีการเรียนชื่อฟังก์ชั่นและชื่อตัวแปรเป็นเรื่องง่าย แต่อัตโนมัติเสร็จสิ้นวิธีการและลักษณะของวัตถุเป็นเรื่องยาก เพราะ IDE ต้องการทราบชนิดของวัตถุที่ไม่สามารถทำได้อย่างง่ายดายมากที่สุดของเวลาในภาษาแบบไดนามิก เชือกใช้ขั้นตอนวิธีการสรุปอิงประเภทเพื่อแก้ปัญหานี้
ประเภทการสรุปอิง: ข้อเสียอย่างหนึ่งของภาษาแบบไดนามิกเช่นงูหลามคือการที่คุณไม่สามารถรู้ประเภทของตัวแปรโดยการวิเคราะห์อย่างง่ายของรหัสที่มาของโปรแกรมส่วนใหญ่ของเวลา รู้ประเภทของตัวแปรเป็นสิ่งสำคัญมากสำหรับการให้หลาย refactorings และความสำเร็จอัตโนมัติ เชือกจะใช้ชนิดสรุปอิงจะเอาชนะปัญหานี้
ประเภทคงสรุปอิงใช้รหัสที่มาของโปรแกรมที่จะคาดเดาประเภทของวัตถุ แต่ชนิดสรุปอิงโปรแกรมหลามเป็นเรื่องยากมาก มีความพยายามบางอย่างแม้ว่าจะไม่ประสบความสำเร็จมาก (ตัวอย่าง: โรคจิตเพียง Str และ int ชนิด Starkiller: ไม่ได้ถูกปล่อยออกมาและ ShedSkin: ดี แต่ จำกัด ) พวกเขาที่กำกับส่วนใหญ่ที่เร่งขึ้นโปรแกรมหลามโดยการเปลี่ยนรหัสในการพิมพ์ภาษาอื่น ๆ มากกว่าการสร้าง IDEs ขั้นตอนวิธีการดังกล่าวอาจจะเป็นประโยชน์
มีอีกวิธีหนึ่งที่มีต่อการสรุปอิงชนิดคือ นั่นคือการวิเคราะห์ของโปรแกรมที่กำลังทำงาน วิธีนี้แบบไดนามิกบันทึกตัวแปรประเภทที่ได้รับมอบหมายในช่วงการทำงานของโปรแกรม แม้ว่าวิธีการนี้เป็นจำนวนมากง่ายต่อการใช้กว่าทางเลือกก็มี จำกัด เฉพาะส่วนของโปรแกรมที่จะดำเนินการมีการวิเคราะห์ หากนักพัฒนาเขียนทดสอบหน่วยและใช้การทดสอบขับเคลื่อนการพัฒนาวิธีการนี้ได้ผลดีมาก </ p>
มีอะไรใหม่ ในข่าวประชาสัมพันธ์ฉบับนี้.
- codeassist: การจัดการที่ดีขึ้นของ Unicode ใน docstrings
- codeassist: จัดการราชวงศ์ builtin เช่น sys.stdout
- codeassist: ขอบเขตข้อเสนอและปรับปรุงประเภท
- fscommands: จัดการการเปลี่ยนแปลงลูกเรือ HG UI
- patchedast: จัดการโหนด ExtSlice
มีอะไรใหม่ ในรุ่น 0.9.2:
- โมดูล Autoimport ในขณะนี้สนับสนุนแคชทุกโมดูลย่อย ของโมดูล.
- Recursion เมื่อโหลดโมดูลได้รับการแก้ไข.
- การสนับสนุน Basic สำหรับ setuptools ได้รับการเพิ่ม.
- สารสกัดจากวิธีการที่ได้รับการเปลี่ยนแปลงที่จะจัดการกับการปรับปรุงเงื่อนไขตัวแปร.
มีอะไรใหม่ ในรุ่น 0.9.1:
- ตัวแปร import_dynload_stdmods ได้รับการเพิ่มการลดขนาด ของตัวแปร extension_modules.
- บางข้อบกพร่องของ Windows เฉพาะได้รับการแก้ไข.
มีอะไรใหม่ ในรุ่น 0.9:
- การเปลี่ยนแปลงตั้งแต่ 0.8.4:
- สนับสนุน Darcs VCS
- การจัดการไฟล์ที่มีสายที่สิ้นสุดแม็
- ไม่ได้ค้นหาไฟล์ทั้งหมดเมื่อ inlining ตัวแปรท้องถิ่น
- การแก้ไขปัญหาเส้นทาง Cygwin การเปลี่ยนแปลงบางอย่างตั้งแต่ 0.8:
- ตัวแปร inlining ในโมดูลอื่น ๆ
- เพิ่ม `rope.contrib.findit.find_definition ()`
- โมดูลส่วนขยายที่ดีกว่าการจัดการ
- เพิ่ม `rope.contrib.findit.find_definition ()`
- เพิ่มการสนับสนุน GIT ใน fscommands
- พารามิเตอร์ inlining
- กลับนำเข้าชื่อที่ขีดเส้นใต้ในการย้าย
- เพิ่ม `codeassist.get_calltip ()`
- เพิ่ม `libutils.analyze_modules ()`
- เพิ่ม `` โครงการ soa_followed_calls`` การตั้งค่า
- `libutils.report_change ()` `อ่าน automatic_soa`
- การจัดการสถานที่ให้บริการมัณฑนากร
ต้องการ
- หลาม
ความคิดเห็นที่ไม่พบ