Bonnes pratiques
Design Pattern

Les patrons de conception (design patterns) sont des solutions classiques à des problèmes récurrents de la conception de logiciels. Chaque patron est une sorte de plan ou de schéma que vous pouvez personnaliser afin de résoudre un problème récurrent dans votre code.


Partagé par Nicolas Lussagnet
il y a environ 3 ans
3

Derniers commentaires :
julie Ramadanoski il y a environ 3 ans
Encore plus épuré : github.com/...
Marc Bouvier il y a presque 3 ans
A noter que les patrons de conception existent ou pas selon le paradigme de programmation ou même le langage.

Le pattern stratégie en POO peut être remplacé par une fonction passée en paramètre par exemple.
Pour ajouter un commentaire, tu dois te connecter ou créer un compte.
Architecture Hexagonale
Clean Architecture
front-end

Le concept de « Clean Architecture », qu’on appelle aussi l’« Architecture hexagonale » ou encore « Ports/Adapters Architecture » a déjà fait ses preuves dans le développement d’application backend. Si cette technique a gagné en popularité ces dernières années, elle ne s’est pas beaucoup démocratisée dans le développement d’application frontend.


Partagé par Manu Dss
il y a environ 3 ans
3

Derniers commentaires :
Mathieu Barberot il y a environ 3 ans
Vraiment intéressant, j'ai apprécié le passage progressif du concept à l'implémentation, les exemples tout au long de la présentation et surtout la mise en pratique.
Par contre, la question que je me posais : le présentateur utilise un objet passé en paramètre pour "retourner" le résultat de ses use cases. Je n'arrive pas à voir ce que cela apporte de bénéfique par rapport a un bon vieux return. Ou est-ce juste un détail d'implémentation ?
Marc Bouvier il y a environ 3 ans
Coucou Mathieu :)
Pour ajouter un commentaire, tu dois te connecter ou créer un compte.
Bonnes pratiques
Conférence
DDD

Cela fait maintenant plusieurs mois que je m'intéresse à #DDD et je dois avouer que c'est tellement vaste qu'il est difficile de savoir par où commencer...


Partagé par Damien Palagi
il y a plus de 3 ans
4

Derniers commentaires :
Marc Bouvier il y a plus de 3 ans
Tu peux regarder par ici pour d'autres ressources en français.
www.youtube.com/...
Pour ajouter un commentaire, tu dois te connecter ou créer un compte.
POO

Quelques règles simples pour écrire vraiment en objet.
Certaines me paraissent un peu trop drastique, qu'en pensez-vous ?


il y a plus de 3 ans
2

Derniers commentaires :
Marc Bouvier il y a plus de 3 ans - modifié il y a plus de 3 ans
L'article ne mentionne pas qu'à l'origine il s'agit d'exercices qu'il ne convient pas forcément d'appliquer tout le temps.
Une source primaire : williamdurand.fr/...

Edit : l'article mentionne ces informations.

""
Object Calisthenics are programming exercises, formalized as a set of 9 rules invented by Jeff Bay in his book The ThoughtWorks Anthology. The word Object is related to Object Oriented Programming. The word Calisthenics is derived from greek, and means exercises under the context of gymnastics. By trying to follow these rules as much as possible, you will naturally change how you write code. It doesn’t mean you have to follow all these rules, all the time. Find your balance with these rules, use some of them only if you feel comfortable with them.
""
Marc Bouvier il y a plus de 3 ans - modifié il y a plus de 3 ans
Pour ce qui est de la règle des collections, je pense que l'intéret est de réduire l'interface uniquement au comportement métier attendu.
On peut par exemple restreindre la collection à l'insertion mais pas à la suppression.

En java, par exemples les collections sont mutables par défaut. Par ex l'interface List expose des méthodes pour ajouter ou modifier des éléments.

La surface d'attaque et les risques de régressions sont augmentées quand les collections ne sont pas wrappées.

Wrapper les collections peut aussi inciter le développeur à nommer le contrat de sa classe (DDD , ubiquitous language).

Ex.

// primitive collection just do collection stuff
shoppingCartItems.add(product);
shoppingCartItems.add(product);

// wrapped collection can be extended with domain semantic and behaviour
shoppingCart.add(product, 2);
shoppingCart.applyDiscountCode("COMPAGNON");

Dans le 2ème exemple la logique d'appliquer un discount n'est qu'à un seul endroit (à l'intérieur de la clases ShoppingCart). Si on manipulait une collection primitive dans tout l'appliacation, cette responsabilité serait déléguée aux clients de la collection qui pourraient faire n'importe quoi avec (leaky abstraction en.wikipedia.org/...
Pour ajouter un commentaire, tu dois te connecter ou créer un compte.
POO

Quelques règles simples pour écrire vraiment en objet.
Certaines me paraissent un peu trop drastique, qu'en pensez-vous ?


il y a plus de 3 ans
2

Derniers commentaires :
Marc Bouvier il y a plus de 3 ans - modifié il y a plus de 3 ans
L'article ne mentionne pas qu'à l'origine il s'agit d'exercices qu'il ne convient pas forcément d'appliquer tout le temps.
Une source primaire : williamdurand.fr/...

Edit : l'article mentionne ces informations.

""
Object Calisthenics are programming exercises, formalized as a set of 9 rules invented by Jeff Bay in his book The ThoughtWorks Anthology. The word Object is related to Object Oriented Programming. The word Calisthenics is derived from greek, and means exercises under the context of gymnastics. By trying to follow these rules as much as possible, you will naturally change how you write code. It doesn’t mean you have to follow all these rules, all the time. Find your balance with these rules, use some of them only if you feel comfortable with them.
""
Marc Bouvier il y a plus de 3 ans - modifié il y a plus de 3 ans
Pour ce qui est de la règle des collections, je pense que l'intéret est de réduire l'interface uniquement au comportement métier attendu.
On peut par exemple restreindre la collection à l'insertion mais pas à la suppression.

En java, par exemples les collections sont mutables par défaut. Par ex l'interface List expose des méthodes pour ajouter ou modifier des éléments.

La surface d'attaque et les risques de régressions sont augmentées quand les collections ne sont pas wrappées.

Wrapper les collections peut aussi inciter le développeur à nommer le contrat de sa classe (DDD , ubiquitous language).

Ex.

// primitive collection just do collection stuff
shoppingCartItems.add(product);
shoppingCartItems.add(product);

// wrapped collection can be extended with domain semantic and behaviour
shoppingCart.add(product, 2);
shoppingCart.applyDiscountCode("COMPAGNON");

Dans le 2ème exemple la logique d'appliquer un discount n'est qu'à un seul endroit (à l'intérieur de la clases ShoppingCart). Si on manipulait une collection primitive dans tout l'appliacation, cette responsabilité serait déléguée aux clients de la collection qui pourraient faire n'importe quoi avec (leaky abstraction en.wikipedia.org/...
Pour ajouter un commentaire, tu dois te connecter ou créer un compte.
Architecture
Design Pattern

Entre de bonnes mains, l'héritage peut être utilisé pour bien des choses. En voici l'une des plus puissantes.


Partagé par Léo Driat
il y a plus de 3 ans
2

Derniers commentaires :
Marc Bouvier il y a plus de 3 ans
Un bon article, il permet de comprendre le concept sans oublier les risques du compromis qui va avec.
Pour ajouter un commentaire, tu dois te connecter ou créer un compte.

Pour découvrir l'accélérateur de carrière et mon offre de coaching pro : ad302.fr/tc226i
Fais ta veille avec compagnon : ad302.fr/T2gsJP


Partagé par Artisan Développeur
il y a plus de 3 ans
4

Derniers commentaires :
Marc Bouvier il y a plus de 3 ans - modifié il y a plus de 3 ans
Coucou!

D'un côté un peu similaire au portage salarial (mais pas tout à fait), il y a le statut d'entrepreneur salarié.

Il peut être exercé dans des sociétés de type coopératives d'activité et d'emploi (CAE) par exemple. C'est un peu à la croisée des chemins entre le portage salarial, les statuts d'indépendants et les incubateurs d'entreprise.

Ces coopératives portent très souvent des valeurs affirmées et s'inscrivent généralement dans le cadre de l'économie sociale et solidaire. Ce type de structure permet également de tester une activité avant de choisir un autre type de statut social.

En quelques concepts, on dispose de la sécurité du salariat :
- cotisation à la sécurité sociale (santé, retraite, chômage ...)
- feuille de paie (pratique pour emprunter ou se loger)
- mutualisation des services de support (comptabilité ...)
- de collègues et parfois d'un local
- ...

Et par ailleurs de certains avantages de l'entreprenariat et de l'entreprise
- possibilité d'avoir des salariés
- les rentrées d'argent sont lissées sur l'année, du coup, c'est moins risqué d'avoir des mois avec et des mois sans
- pouvoir choisir ses clients
- participer en tant qu'associé à la gouvernance collective de la structure
- fiscalité intéressante pour les frais et achats
- selon les cas pouvoir accéder à des marchés publics et des appels d'offre (la structure peut montrer un certain niveau de chiffre d'affaire auquel peu d'indépendants peuvent aspirer ...)
- ...

bpifrance-creation.fr/...

On commence aussi à voir émerger de nouveaux types d'entreprises, notamment d'entreprises librérées. Je pense par exemple à Shodo qui se positionne dans un modèle d'ESN mais beaucoup plus intéressant pour les salariés.

medium.com/...

Une autre entreprise : Azaé qui présente un modèle économique de distribution de la richesse produite assez original.

www.youtube.com/...

Tout cela mériterait un article :)
Benoit GANTAUME il y a plus de 3 ans
Très bonne idée @Marc Bouvier l'article.
Si tu es chaud, parlons-en !
Pour ajouter un commentaire, tu dois te connecter ou créer un compte.
Bonnes pratiques
Covid-19
remote
Télétravail

Travailler comme développeur à distance : comment surmonter les défis et augmenter la productivité


Partagé par Xavier Coiffard
il y a plus de 3 ans
4

Derniers commentaires :
Xavier Coiffard il y a plus de 3 ans
Merci pour ta réponse! Effectivement, la situation actuelle n'est vraiment pas idéale pour commencer du remote. Surtout en Mars dernier où on devait gérer les gosses à la maison, le stress du COVID, le confinement etc…

Pour les plages de temps sans interruption je ne peux qu'être d'accord avect toi!
Marc Bouvier il y a plus de 2 ans
Il est important de considérer l'importance de la santé mentale et de se faire accompagner par des professionnels pour cela.

La santé mentale ou le fait de consulter un•e psychologue est encore trop considéré comme un tabou dans notre métier en particulier et dans la société en général.

On se retrouve avec des collègues qui partent en burn-out du jour au lendemain, ou encore d'autres qui nous imposent (sans notre consentement) leurs problèmes en salle de pause... (Je ne suis pas ton psy!). Dans ces cas je tente d'instruire en invitant la personne à en parler avec la médecine du travail ou à trouver un professionnel.

Avoir une personne neutre avec qui parler dans un contexte "safe" psychologiquement peut vraiment aider chacun de nous a mieux se comprendre et à aller mieux.
Pour ajouter un commentaire, tu dois te connecter ou créer un compte.
Bonnes pratiques
Covid-19
remote
Télétravail

Travailler comme développeur à distance : comment surmonter les défis et augmenter la productivité


Partagé par Xavier Coiffard
il y a plus de 3 ans
4

Derniers commentaires :
Xavier Coiffard il y a plus de 3 ans
Merci pour ta réponse! Effectivement, la situation actuelle n'est vraiment pas idéale pour commencer du remote. Surtout en Mars dernier où on devait gérer les gosses à la maison, le stress du COVID, le confinement etc…

Pour les plages de temps sans interruption je ne peux qu'être d'accord avect toi!
Marc Bouvier il y a plus de 2 ans
Il est important de considérer l'importance de la santé mentale et de se faire accompagner par des professionnels pour cela.

La santé mentale ou le fait de consulter un•e psychologue est encore trop considéré comme un tabou dans notre métier en particulier et dans la société en général.

On se retrouve avec des collègues qui partent en burn-out du jour au lendemain, ou encore d'autres qui nous imposent (sans notre consentement) leurs problèmes en salle de pause... (Je ne suis pas ton psy!). Dans ces cas je tente d'instruire en invitant la personne à en parler avec la médecine du travail ou à trouver un professionnel.

Avoir une personne neutre avec qui parler dans un contexte "safe" psychologiquement peut vraiment aider chacun de nous a mieux se comprendre et à aller mieux.
Pour ajouter un commentaire, tu dois te connecter ou créer un compte.
Bonnes pratiques
Covid-19
remote
Télétravail

Travailler comme développeur à distance : comment surmonter les défis et augmenter la productivité


Partagé par Xavier Coiffard
il y a plus de 3 ans
4

Derniers commentaires :
Xavier Coiffard il y a plus de 3 ans
Merci pour ta réponse! Effectivement, la situation actuelle n'est vraiment pas idéale pour commencer du remote. Surtout en Mars dernier où on devait gérer les gosses à la maison, le stress du COVID, le confinement etc…

Pour les plages de temps sans interruption je ne peux qu'être d'accord avect toi!
Marc Bouvier il y a plus de 2 ans
Il est important de considérer l'importance de la santé mentale et de se faire accompagner par des professionnels pour cela.

La santé mentale ou le fait de consulter un•e psychologue est encore trop considéré comme un tabou dans notre métier en particulier et dans la société en général.

On se retrouve avec des collègues qui partent en burn-out du jour au lendemain, ou encore d'autres qui nous imposent (sans notre consentement) leurs problèmes en salle de pause... (Je ne suis pas ton psy!). Dans ces cas je tente d'instruire en invitant la personne à en parler avec la médecine du travail ou à trouver un professionnel.

Avoir une personne neutre avec qui parler dans un contexte "safe" psychologiquement peut vraiment aider chacun de nous a mieux se comprendre et à aller mieux.
Pour ajouter un commentaire, tu dois te connecter ou créer un compte.
Artisan Développeur utilise des cookies afin de t'offrir les meilleurs services. En poursuivant ta navigation, tu acceptes l’utilisation de cookies. En savoir plus