Skip to content

Code de la session de livecoding "Indiana Jones et le temple du code legacy"

Notifications You must be signed in to change notification settings

mgandin/indianajones

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Kata 'Indiana Jones et le Temple du code Legacy'

alt text

Ce code est un exercice pour apprendre à faire évoluer fonctionnellement du code Legacy en prenant le temps d'écrire des tests unitaires et de refactorer.

Vous avez besoin de Maven 3 et d'un JDK 8 pour cet exercice

Vous avez deux web services qui se lance en tapant la commande : mvn clean install tomcat6:run

Premier refactoring

Pour commencer ce premier refactoring, faites un checkout avec la commande git suivante :

git checkout -b exo1 step0

Refactorer le premier web service accessible à l'URL http://localhost:8080/indianajones/rest/results en affichant le turnover qui manque au rapport. Le XML affiché a cette forme là :

<report>
	<title>Quaterly Report</title>
    <frame>2012 - 2012</frame>
    <results>
        <result>
            <lob>UX</lob>
            <manager>Bob</manager>
            <net>40.0</net>
            <alertNet>Alert : Net Profit too low</alertNet>
            <operatingExpense>80.0</operatingExpense>
            <alertExpense>Alert : Too much notes</alertExpense>
    	</result>
    </results>
</report>

Il doit maintenant ressembler à ça :

<report>
	<title>Quaterly Report</title>
    <frame>2012 - 2012</frame>
    <results>
        <result>
            <lob>UX</lob>
            <manager>Bob</manager>
            <net>40.0</net>
            <alertNet>Alert : Net Profit too low</alertNet>
            <operatingExpense>80.0</operatingExpense>
            <alertExpense>Alert : Too much notes</alertExpense>
            <turnover>11</turnover>
    	</result>
    </results>
</report>

Veillez à rendre le code le plus propre possible avec un maximum de tests unitaires (vous pouvez utiliser Mockito). Vous avez à peu près 15 minutes ... Une solution possible se trouve en exécutant la commande suivante :

git checkout step1

Deuxième refactoring

Pour commencer ce premier refactoring, faites un checkout avec la commande git suivante :

git checkout -b exo2 step1

Refactorer le premier web service accessible à l'URL http://localhost:8080/indianajones/json/results en affichant des élements supplémentaires. Le JSON affiché a cette forme là :

[{"manager":"Mathieu","departement":"Media","operatingExpense":4000.0,"netProfit":4000.0,"year":2013,"underKpiMessage":true,"hasTooMuchExpense":true,"turnover":9}]

Il doit maintenant ressembler à ça :

[{"manager":"Mathieu","year":2013,"underKpiMessage":"ALERT KPI","hasTooMuchExpense":"ALERT EXPENSE","departement":"Media","netProfit":4000.0,"operatingExpense":4000.0,"underKpi":true,"hasTooMuchExpense":true,"turnover":9}]

Encore une fois, veillez à rendre le code le plus propre possible avec un maximum de tests unitaires (vous pouvez utiliser Mockito). Et vous avez encore à peu près 15 minutes ... Une solution possible se trouve en exécutant la commande suivante :

git checkout step2

About

Code de la session de livecoding "Indiana Jones et le temple du code legacy"

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages