Session - 1ère moitié Flashcards
Quels sont les différents types de assert utilisés en cours pour les tests unitaires?
assertEquals/assertNotEquals, assertTrue/assertFalse, assertArrayEquals, assertThrows/assertDoesNotThrow
Quelles sont les trois “sections” d’un test unitaire (AAA)?
Arrange, Act, Assert
Comment écrire une fonction de test?
@Test
public void test_nomFonction_ceQueLeTestFait()
Pour les types de base, comment sont passés les paramètres aux fonctions et qu’est-ce que cela veut dire?
Par valeur.
Les modifications que la fonction fait sur le paramètre n’ont pas d’effet en dehors de la fonction.
Comment écrire un foreach en Java?
Selon ce tableau : int[] data = {1,2,3,4,5,6,7}
for (int elem : data)
{
}
Comment écrire un do…while?
do
{
// Something…
} while (condition); <— Point virgule important.
Différemment du C#, comment s’écrivent les types booléens et les chaînes de caractère.
Boolean, String
Java est un langage de type…
Interprété. Il nécessite une JVM pour s’exécuter
Quels sont les principes de programmations vus jusqu’à présent?
DRY, KISS, Tell don’t ask, Encapsulation, Command-Query Separation, Single Responsibility Principe
Qu’est-ce que le principe DRY?
Ne pas se répéter. Si on a deux bouts de code qui font la même chose, c’est une fonction.
Créer une fonction et l’appeler deux fois.
S’il y a un bug, cela fait une seule place à modifier.
Qu’est-ce que le KISS?
Et quelles sont les bonnes pratiques?
Garder ça court et simple.
(Le plus court et le plus élégant possible)
Simple ne veut pas dire facile.
Un problème est facile ou difficile, une solution est simple ou complexe.
Complexe : Trop d’éléments, trop d’interconnexions entre les éléments, trop long inutilement avant de conclure.
- Limiter le nombre de variables dans une fonction
- Garder les fonctions “petites”
- Garder un niveau d’imbrication d’instructions raisonnable
- Éviter une explosion du nombre de fonctions.
Comment instancier un nouveau tableau 2D de 5 x 5?
int[][] elements = new int[5][5];
Comment parcourir un tableau 2D?
Avec des boucles.
Il faut commencer par parcourir les rows et ensuite les cols.
Comment connaître le nombre de lignes et de colonnes dans un tableau 2D?
Lignes = elements.length (retourne le nombre de rows)
Colonnes = elements[row].length
(Nombre de colonne de la row)
Comment écrire un tableau 2D en paramètre ou en retour?
Paramètre: …(int[][] elements)
Retour: public satic int[][] fonctionName(int a)
Qu’est-ce qu’un Enum?
C’est un type émunéré.
Cela permet de créer un nouveau type de données et d’en énumérer les valeurs possibles.
Quels sont des bons exemples d’Enum?
- Les mois de l’année
- Les jours de la semaine
- Les sortes d’une carte
- Les points cardinaux
Comment déclarer une Enum?
public enum Month {JANUARY, FEBRUARY, …, DECEMBER;}
Comment utiliser une valeur d’Enum?
Ex : Month enum = Month.APRIL;
Quel est le principe de la programmation orientée objet?
Regrouper les données et les traitements liés à un concept dans un même endroit (une classe).
On programme donc plusieurs petits “modules” que l’on combine ensemble pour faire un programme.
Qu’est-ce qu’une classe?
La définition/représentation d’un concept.
Elle comporte des données (attributs) et des fonctions (méthodes).
Il s’agit donc d’un moule pour faire des objets de même nature.
Qu’est-ce qu’un objet?
Il s’agit de l’instanciation d’une classe.
Ex : Bookshelf shelf1 = new Bookshelf();