IntelliJ IDEAIntelliJ IDEA également appelé « IntelliJ », « IDEA » ou « IDJ » est un environnement de développement intégré (en anglais Integrated Development Environment - IDE) destiné au développement de logiciels informatiques reposant sur la technologie Java. Il est développé par JetBrains (anciennement « IntelliJ ») et disponible en deux versions, l'une communautaire, open source, sous licence Apache 2 et l'autre propriétaire, protégée par une licence commerciale. Tous deux supportent les langages de programmation Java, Kotlin, Groovy et Scala.
Decomposition (computer science)Decomposition in computer science, also known as factoring, is breaking a complex problem or system into parts that are easier to conceive, understand, program, and maintain. There are different types of decomposition defined in computer sciences: In structured programming, algorithmic decomposition breaks a process down into well-defined steps. Structured analysis breaks down a software system from the system context level to system functions and data entities as described by Tom DeMarco.Tom DeMarco (1978).
Code smellEn génie logiciel, les code smells ou mauvaises odeurs peuvent être de mauvaises pratiques de conception logicielle qui conduisent à l’apparition de défauts. Ces défauts sont souvent issus de mauvais choix d’implantation ou de conception et conduisent à une complexification du code source et de la maintenance et évolutivité de celui‐ci. À la différence d'un AntiPattern, les code smells ne sont pas forcément des erreurs, c'est-à-dire qu'ils peuvent persister sans perspective d'évolution dans un logiciel.
JetBrainsJetBrains s.r.o. (formerly IntelliJ Software s.r.o.) is a Czech software development private limited company which makes tools for software developers and project managers. The company has its headquarters in Prague, and has offices in China, Europe, and the United States. The company offers integrated development environments (IDEs) for a variety of programming languages. The company created the Kotlin programming language, which can run in a Java virtual machine (JVM), in 2011.
Maintenance du logicielvignette|Cycle de vie d'un logiciel La maintenance du logiciel (ou maintenance logicielle) désigne, en génie logiciel, les modifications apportées à un logiciel, après sa mise en œuvre, pour en corriger les fautes, en améliorer l'efficacité ou autres caractéristiques, ou encore adapter celui-ci à un environnement modifié. La norme ISO (ISO/IEC 14764, Software Engineering—Software Life Cycle Processes—Maintenance) décrit en détail les processus de maintenance logicielle.
Comparison of integrated development environmentsThe following tables list notable software packages that are nominal IDEs; standalone tools such as source-code editors and GUI builders are not included. These IDEs are listed in alphabetic order of the supported language.
Convention de nommageUne convention de nommage dans la programmation informatique est un ensemble de règles de codage destinées à choisir les identifiants logiciels (noms des éléments du programme) dans le code source et la documentation. Les raisons pour lesquelles on utilise une convention de nommage (par opposition à l'autorisation accordée aux programmeurs de choisir n'importe quelle séquence de caractères) sont les suivantes : rendre le code source plus facile à lire et à comprendre avec moins d'efforts ; améliorer l'apparence du code source (par exemple, en interdisant les noms trop longs ou les abréviations) ; Le choix de conventions de nommage peut prêter à controverse, les partisans de chaque convention tenant la leur pour la meilleure.
Automatisation de testL'automatisation de test permet de jouer à volonté des tests de régression à la suite de la livraison d'une nouvelle version d'une application. L'automatisation d'un test n'a de sens que si le test répond à un certain nombre de critères : le test est systématique : il doit être exécuté à chaque nouvelle version de l'application. le test est répétitif : il est présent dans de nombreux scénarios de test. le test est automatisable : il est possible techniquement de faire jouer le test par un robot.
MaintenabilitéLa maintenabilité est, dans le domaine informatique, la capacité pour des composants ou des applications à être maintenus, de manière cohérente et à moindre coût, en état de fonctionnement. Plus généralement, dans l'industrie le terme exprime la capacité d'un système à être simplement et rapidement réparé et ainsi à diminuer les temps et les coûts d'intervention. La maintenabilité d'un système est souvent caractérisée lors de sa conception. Elle se calcule suivant les temps moyen d'intervention et suit une loi log-normale.