Giter Site home page Giter Site logo

academie's Introduction

Academie

Resources, processus et conventions.

Accédez au Wiki pour découvrir les dossiers.

academie's People

Contributors

lenybernard avatar

Watchers

 avatar James Cloos avatar Paul Andrieux avatar Alexis Lefebvre avatar  avatar Charlie Lucas avatar manuelbrossard avatar Sébastien Talbot avatar Grégoire Humeau avatar Baptiste Foucher avatar  avatar

academie's Issues

[Convention] Doctrine repository

Il serait bon de définir une convention de nommage pour faire la différence entre les fonctions retournant une requête exécuté et celle retournant un objet QueryBuilder.

Le mieux serait surement d'écrire deux fonctions, une get() qui retourne le QueryBuilder, et une find() qui exécute la fonction get() précédente.

<?php

namespace My\FooBundle\Repository;

use Doctrine\ORM\EntityRepository;
use Doctrine\ORM\QueryBuilder;

/**
 * FooRepository
 */
class FooRepository extends EntityRepository
{
    /**
     * Return Foo by name.
     *
     * @param string $name
     * @return QueryBuilder $qb
     */
    public function getByName($name)
    {
        $qb->where('mission:name = :mission_name')
            ->setParameter('mission_name', $name);

        return $qb;
    }

    /**
     * Execute function getByName()
     *
     * @see getByName()
     * @return array
     */
    public function findByName($name)
    {
        return $this->getByName($name)
            ->getQuery()
            ->getResult();
    }
}

[Good practice] Service

Dans les service je trouve que c'est une bonne pratique de rappeler l'id du service dans le docblock

Exemple :

<?php
namespace My\FooBundle\Service;

/**
 * FooService
 *
 * service id : my_app.service.foo
 */
class FooService
{
    // Service here
}

Lorsque l'on à de nombreux services, cela permet de retrouver rapidement et facilement l'id à utiliser.

Hook git de contrôle des tests avant push

Constat

Nos applications sont testées mais on n'exécute pas les tests car c'est long et un peu laborieux.

Solution proposée

Git permet l'usage de hooks offrant la possibilité de lancer des scripts avant un push (ou un commit ?). L'idée est de lancer un maximum de choses tant que ce n'est pas trop long mais n'est pas de ralentir le processus donc il n'est pas question de lancer l'ensemble des tests.

One more thing

Le truc extra serait de réussir à lancer les tests relatifs au fichiers changés. Creuser du côté des fichiers modifiés et probablement du côté du test coverage et du git diff

Philosophie RAD et utilisation de KnpRad

Je lance cette petite discussion ici pour essayer de savoir pourquoi et quand utiliser la philosophie RAD.

Tout le monde connait bien le Knp Rad bundle, j'aimerais savoir ce que vous en pensez et s'il faudrait l'utiliser. On avait commencé à l'étudier début 2013 mais perdu dans un besoin de productivité on l'a abandonné.

Cela semble être adapté à ce que l'on essaye de faire au moins au niveau d'avoir un bundle central (AppBundle). @sumbobyboys, c'est toi qui l'a utilisé le plus longtemps, qu'est ce qui t'a déplu et quel est ton avis pour l'instant sur cette philosophie ? @paulandrieux ? @shadypierre ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.