corda é um Python IDE. O principal objetivo da corda Python é fornecer recursos como auto-realização, refatorações, assistência conteúdo e contornos.
Refactoring: Nos últimos anos refactoring se tornou uma tarefa básica de programação todos os dias, especialmente na comunidade java. Nas metodologias de programação ágil, como Extrema Programação, refatoração é uma das práticas essenciais.
Algumas IDEs apoiar algumas refatorações básicas como 'PyDev' (que usa bicicleta reparação homem). Esses IDEs tem um conjunto limitado de refatorações e falhar ao fazer refatorações que precisa saber o tipo de objetos no código-fonte (especialmente para relativamente grandes projetos). corda tenta fornecer um rico conjunto de refatorações. Algumas das refatorações exigem tipo de inferência que é descrito mais tarde.
Auto de Conclusão: Uma das características básicas dos IDEs modernas é a disponibilidade de auto-realização. Algumas IDEs Python têm suporte auto-realização, mas de forma limitada. Uma vez que o tipo de muitas variáveis não podem ser deduzidas a partir da análise simples do código fonte. Auto-completar nomes de módulos, os nomes de classes, métodos estáticos, métodos de classe, nomes de funções e nomes de variáveis são fáceis. Mas a auto-completar os métodos e atributos de um objeto é difícil. Porque o IDE precisa saber o tipo de objecto que não pode ser alcançado facilmente a maior parte do tempo em linguagens dinâmicas. corda usa algoritmos tipo de inferência para resolver este problema.
Tipo de Inferência: Uma desvantagem de linguagens dinâmicas como python é que você não pode saber o tipo de variáveis por uma simples análise de código fonte do programa na maioria das vezes. Conhecer o tipo de variáveis é muito essencial para proporcionar muitas das refatorações e auto-completação. corda vai usar o tipo de inferência para superar este problema.
Tipo de inferência estática usa código fonte do programa para adivinhar o tipo de objectos. Mas os programas tipo de inferência python é muito difícil. Houve algumas tentativas embora não muito bem-sucedidas (exemplos: tipos só str e int, Starkiller:: psicótico não foi liberado e ShedSkin: bom, mas limitado). Eles onde principalmente dirigido a acelerar programas em Python, transformando o seu código a outras linguagens digitadas ao invés de construir IDEs. Tais algoritmos pode ser útil.
Há uma outra abordagem em direção tipo de inferência. Essa é a análise dos programas em execução. Esta abordagem dinâmica registra os tipos de variáveis são atribuídos durante a execução do programa. Embora essa abordagem é muito mais fácil de implementar do que a alternativa, é limitado. Somente as partes do programa que são executadas são analisados. Se os desenvolvedores escrever testes de unidade e usar Test Driven Development esta abordagem funciona muito bem
O que é novo nesta versão:.
- codeassist: melhor manipulação de unicode em docstrings
- codeassist: manipulação incógnitas embutidas, como sys.stdout
- codeassist: Propostas escopos e tipos revista li>
- FSCommands: lidar com as mudanças da tripulação hg ui
- patchedast: lidar com nó ExtSlice
O que é novo na versão 0.9.2:
- O módulo AutoImport agora suporta o armazenamento em cache todos os sub-módulos de um módulo.
- A recursão ao carregar módulos foi corrigido.
- foi adicionado suporte básico para setuptools.
- O método extrato foi alterado para lidar com as atualizações variáveis condicionais.
O que é novo na versão 0.9.1:
- A variável import_dynload_stdmods foi adicionado para reduzir o tamanho da variável extension_modules.
- Alguns bugs específicos do Windows foram corrigidos.
O que é novo na versão 0.9:
- Mudanças desde 0.8.4:
- apoio Darcs VCS
- lidar com arquivos com mac de fim de linha
- não pesquisar todos os arquivos quando inlining uma variável local
- problemas de caminho cygwin fixo Algumas das mudanças desde 0,8:
- variável inlining em outros módulos
- adicionado `rope.contrib.findit.find_definition ()`
- melhor módulo de extensão manipulação
- adicionado `rope.contrib.findit.find_definition ()`
- adicionou suporte GIT em FSCommands
- parâmetros inlining
- volta importar nomes sublinhados em movimento
- adicionado `codeassist.get_calltip ()`
- adicionado `libutils.analyze_modules ()`
- adicionado `` project soa_followed_calls`` config
- `libutils.report_change ()` `lê automatic_soa`
- manipulação propriedade decorador
Requisitos :
- Python
Comentários não encontrado