Recherche

Coder's IO

Tag

Code

Code Story 2013

 

Le challenge Code Story est organisé par +David Gageot et +Jean-Laurent de Morlhon.

L’idée du concours est de coder en live une application lors de la conférence Devoxx France.

Ce concours se déroule en plusieurs étapes.
Il y a d’abord une première étape de présélection, ensuite une deuxième phase a lieu courant février. A la fin de celle-ci, David et Jean-Laurent choisiront le binôme qu’ils affronteront lors de la grande finale à Devoxx France 2013.

Donc si vous voulez participer, lancez vous sur le défi de la pré-sélection… 🙂

Vous trouverez tous les détails dans le lien attaché au post.

A noter également que pour l’étape des premières sélections, +nicolas de loof met à disposition un environnement CloudBees pour héberger les projets participants.
Tous les détails sur le lien suivant : http://blog.loof.fr/2013/01/codestory.html

#java #devoxxFR #devoxxFR13 #code #story

Java Code Geeks, Java 2 java developers resource center

+Java Code Geeks (JCG) est un site indépendant maintenu par des développeurs Java pour des développeurs Java.
L’ensemble du contenu du site vise un public constitué d’architecte technique, de leader technique, chef de projet mais aussi des jeunes pousses souhaitant se former dans de bonnes conditions.

Les fondateurs de ce site sont :

+Byron Kiourtzoglou : co-founder et executive editor
+Ilias Tsagklis : co-founder et executive editor

Les sujets abordés tournent principalement autour de :
– Java
– Scala,
– Android,
– SOA,
– etc

Ce site communautaire propose plusieurs façons de participer au contenu du site :

JCG
Le but de ce programme est de simplifier le processus de contribution. Chaque contributeur dans le cadre de ce programme doit fournir un pointeur vers son blog personnel, c’est tout! En fournissant ce pointeur, il autorise le JCG à exploiter le contenu de son blog.
Ensuite le blogger continue à alimenter son blog normalement.
Bien entendu, le JCG s’engage à citer l’auteur de l’article et fournir un pointeur vers l’article original. Le JCG se réserve le droit d’éditer l’article pour faire des corrections orthographiques et syntaxiques, ainsi que l’ajout de liens concernant le sujet de l’article pour aller plus loin.
L’avantage pour l’auteur est d’obtenir une visibilité plus importante pour son article et son blog.

W4G
Le but de ce programme est plus classique. Il permet à un contributeur de publier un article directement sur le site JavaCodeGeeks.com. Le blogger pourra alors estampiller son site perso du logo Java Code Geeks.

Software
Le site propose aussi une participation à plusieurs projets open-source tel que :
– ArkDroid : Un clone du célèbre jeu Arkanoid pour Android.
– Java String Search : Une implémentation en Java des algorithmes les plus communs de recherche sur du texte.
– JCG Andygene Web : Un ensemble d’archetypes Maven permettant de faire du développement rapide.
– etc

Ressources
Le site propose également un index de ressources sur plusieurs sujets techniques.
Par sujet technique, vous pouvez trouver des outils permettant de les mettre en oeuvre.

Tutoriels
Cette section propose un ensemble de tutoriels permettant de rapidement monter en compétence sur un sujet, comme Lucene, Google Guava, la programmation fonctionnelle, l'injection de dépendance, etc

Exemples
Cette section est particulièrement intéressante. Elle propose des exemples concrets sur la manière de mettre en oeuvre un outil ou une API. Généralement, on ne trouve pas beaucoup d’explications mais des blocs de code décrivant les étapes de mise en oeuvre.
Cette approche très pragmatique a l’avantage de tout de suite rentrer dans le vif du sujet sans passer par une phase théorique un peu longue (même si je pense qu’il est toujours bon d’appréhender les concepts avant de passer à la pratique, parfois quand le temps presse cette étape peut être remise à après la tempête 🙂 ).

Actuellement cette section est catégorisée avec les thèmes suivants :
– Les basiques de Java,
– le coeur de Java,
– Java entreprise,
– Java Desktop,
– Android,
– Java Code Geeks

Je trouve ce site très intéressant, tant par la diversité des sujets abordés que par le pragmatisme de certaines sections du site. Le format de publication est de un post par jour (toute ressemblance avec un format de publication existant ne serait que purement fortuite 🙂 )

#java #code #geek #article #JCG #W4G

Devoxx France : Faire du code centré sur l’humain!

+yannick grenzinger a fait une présentation, lors d’un quickie (session au format de 15mn), des différents concepts permettant de produire du code où l’humain saura s’y retrouver.

La question posée en introduction résume bien la problématique adressée par cette présentation :
Pourquoi est-il si difficile de faire du code qu’un autre humain puisse facilement comprendre et maintenir ?

A cette question le speaker apporte la réponse :
_ Parce que nous avons tous notre vision du monde !_

Cette introduction positionne le contexte et Yannick va nous expliquer comment faire tendre les visions de chacun vers une perception commune du code.
Inévitablement, il évoque le livre référence dans ce domaine : Clean Code en citant une phrase clef :

Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live de Martin Golding

Ensuite, il nous explique un premier concept : le modèle mental du code.
C’est-à-dire que la vision que l’on peut avoir du code va différer entre celui qui l’a écrit et celui qui va le maintenir.
Dans le monde du design, les ergonomes ont mis en place des solutions concernant les objets de tous les jours : Le design centré sur l’utilisateur.
Si l’on fait un parallèle entre l’ergonomie appliquée aux objets et le code, on pourrait essayer de voir le code comme des objets et par conséquent lui appliquer les principes d’ergonomie.

La première chose serait de créer de bonnes affordances afin que notre code soit capable de s’exprimer lui-même.

Aussi, réussir à mettre en place des associations symboliques. Yannick montrait en exemple le panneau de sens interdit où la couleur rouge indique (par association symbolique) une interdiction ainsi que la forme et le contenu du panneau. Dans le cas d’un programme : mettre en place des patterns, des règles de nommage, etc.

La création d’association naturelle au travers du Behavior Driven Development (BDD).
Le processus BDD met en avant le langage naturel et les interactions dans la phase de développement logiciel. Cela permet aux développeurs de se concentrer sur les raisons pour lesquelles le code doit être créé, plutôt que les détails techniques, et minimise la traduction entre le langage technique dans lequel le code est écrit et le domaine de la langue parlée par les entreprises, les utilisateurs, les intervenants, la gestion de projet…

Le speaker encourage le coding défensif, c’est-à-dire de bien gérer les cas d’erreur afin de pouvoir les traiter et faire remonter un maximum d’informations en cas d’erreur.

L’avant dernier point abordé est la boucle du feedback, elle se compose de :
– Le code existant,
– L’interprétation,
– L’objectif,
– L’écriture du code.

Afin d’améliorer le feedback, plusieurs outils sont nécessaires :
– TDD
– Intégration continue
– Déploiement continu

Le dernier point concerne la documentation. Pour illustrer cette idée, Yannick cite une phrase de Steve McConnell : ”Good code is its own best documentation”.
Il la complètera en ajoutant que ce principe, assez connu, ne suffit pas toujours et la documentation dans certains cas a vraiment toute son importance.

Il conclura qu’en appliquant l’ensemble de ces principes (la liste faite ici n’est pas exhaustive), nous aurons un code plus facile à comprendre, plus lisible, et plus maintenable ; autrement dit :

Centré sur l’humain

Cette présentation a abordé, pendant 15mn, un certain nombre de concepts essentiels à connaitre dans la carrière d’un développeur.
Si votre curiosité a été piquée,si ce n’est pas déjà fait, de lire le livre Clean Code 🙂

les slides de la présentation sont disponible sur slideshare

#java #cleancode #design #ergonomie #code

Clean Code

Aujourd’hui, je vais faire une petite entorse à la règle et parler d’un sujet périphérique au language Java mais tout aussi important : le code.
Le fait de connaître beaucoup d’APIs ou de frameworks n’est pas une fin en soi.

Savoir écrire du code n’est pas une notion à prendre à la légère. Beaucoup de facteurs peuvent rendre un morceau de code plus propre :

– Savoir nommer efficacement ses variables, ses méthodes,
– Savoir structurer ses classes,
– Savoir produire du code expressif,
– Identifier les responsabilités dans le code,
– Utiliser les commentaires correctement,
– Écrire des tests propres (FIRST)
– Adopter de bonnes pratiques de refactoring,
– etc.

Au premier abord, les points évoqués ci-dessus peuvent paraître évidents ou superflus néanmoins il n’est pas rare d’entendre :

– “Ton code n’est pas très clair”,
– “Tu peux m’expliquer à quoi sert cette classe ?”,
– “Tiens, j’ai déjà vu ce bout de code quelque part”,
– “Pourquoi cette classe fait plus de 1000 lignes ?”.

Face à ces questions, il est nécessaire d’appréhender certains concepts et conseils qui permettront de coder de manière efficace.
Je vous recommande un très bon ouvrage de référence sur ce sujet, le livre de Robert C. Martin : Coder proprement (Clean code).
Que vous soyez débutant ou confirmé, ce livre vous apportera forcément quelque chose.

Ce livre existe en version anglaise ou française.

Nous parlons ici de Java, mais ces principes s'appliquent bien sûr à tout autre langage.

Partagez ici vos impressions, anecdotes ou expériences sur le sujet traité par ce livre.

#java #clean #code #coder #proprement

Créez un site Web ou un blog gratuitement sur WordPress.com.

Retour en haut ↑

Concevoir un site comme celui-ci avec WordPress.com
Commencer