rep är en Python IDE. Python rep främsta mål är att ge funktioner som automatisk komplettering, refacto, innehåll assistans och konturer.
Refacto: Under de senaste åren refacto har blivit en grundläggande uppgift för det dagliga programmering, speciellt i java gemenskap. I agila programmeringsmetoder, liksom Extreme Programmering, är Refacto en av kärnpraxis.
Vissa IDE stödjer vissa grundläggande refactorings som "pydev" (som använder cykelverkstad man). Dessa IDE har en begränsad uppsättning refacto och misslyckas när man gör refacto som behöver veta vilken typ av objekt i källkoden (speciellt för relativt stora projekt). rep försöker ge en rik uppsättning av refacto. Några av refacto kräver typ inferencing som beskrivs senare.
Auto Slutförande: En av de grundläggande funktionerna i modern IDE är tillgången på automatisk komplettering. Vissa Python Ides har automatisk komplettering stöd, men i en begränsad form. Eftersom den typ av många variabler kan inte härledas från enkel analys av källkoden. Auto-slutföra moduler namn, klassnamn, statiska metoder, klassmetoder, funktionsnamn och variabelnamn är enkla. Men auto slutföra de metoder och attribut för ett objekt är svårt. Eftersom IDE behöver veta vilken typ av objekt som inte kan uppnås lätt för det mesta i dynamiska språk. rep använder Typ Inferencing algoritmer för att lösa detta problem.
Typ Inferencing: En nackdel med dynamiska språk som python är att du inte kan veta vilken typ av variabler genom en enkel analys av programkällkoden för det mesta. Att veta vilken typ av variabler är mycket viktigt för att ge många av de refacto och auto kompletteringar. rep kommer att använda typ inferencing att lösa detta problem.
Statisk typ inferencing använder programmet källkod att gissa vilken typ av objekt. Men typ inferencing python program är mycket svårt. Det har förekommit några försök men inte mycket framgångsrika (exempel: psykopat: Endast str och INT typer, Starkiller: inte släpptes och ShedSkin: bra men begränsat). De där mestadels inriktad på att påskynda python program genom att förvandla sin kod till andra maskinskrivna språk istället för att bygga Ides. Sådana algoritmer kan vara till hjälp.
Det finns en annan metod mot typ inferencing. Det är en analys av program som körs. Denna dynamiska tillvägagångssätt registrerar typer variablerna tilldelats under exekvering av programmet. Även om detta tillvägagångssätt är mycket lättare att genomföra än alternativet, är det begränsat. Endast de delar av programmet som exekveras analyseras. Om utvecklarna skriver enhetstester och använda testdriven utveckling denna metod fungerar mycket bra
Vad är nytt i den här versionen:.
- codeassist: bättre hantering av unicode i docstrings
- codeassist: hantering BUILTIN okända, såsom sys.stdout
- codeassist: förslag omfattningar och typer reviderade
- FSCommands: hantera hg besättningen ui förändringar
- patchedast: hantera ExtSlice nod
Vad är nytt i version 0.9.2:
- Autoimport modulen stöder nu caching alla undermoduler av en modul.
- Rekursion vid lastning moduler har fastställts.
- Grundläggande stöd för setuptools har lagts till.
- Extraktet metoden har ändrats för att hantera villkor variabla uppdateringar.
Vad är nytt i version 0.9.1:
- import_dynload_stdmods variabel har lagts för att minska storleken av extension_modules variabel.
- En del Windows-specifika buggar har åtgärdats.
Vad är nytt i version 0.9:
- Ändringar sedan 0.8.4:
- stödja Darcs VCS
- hanterar filer med mac linje sinande
- inte söka alla filer när inlining en lokal variabel
- fast Cygwin vägens problem Några av förändringarna sedan 0,8:
- inlining variabel i andra moduler
- lagt `rope.contrib.findit.find_definition ()`
- bättre utbyggnadsmodul hantering
- lagt `rope.contrib.findit.find_definition ()`
- lagt GIT stöd i FSCommands
- inlining parametrar
- tillbaka importerar strukna namn i flytten
- lagt `codeassist.get_calltip ()`
- lagt `libutils.analyze_modules ()`
- lagt `` soa_followed_calls`` projekt config
- `libutils.report_change ()` läser `automatic_soa`
- hantering fastighets dekoratör
Krav :
- Python
Kommentarer hittades inte