Skip to content

Instantly share code, notes, and snippets.

@andreoav
Last active August 29, 2015 14:16
Show Gist options
  • Save andreoav/09e9a2dc03ed2e772237 to your computer and use it in GitHub Desktop.
Save andreoav/09e9a2dc03ed2e772237 to your computer and use it in GitHub Desktop.
Contributing.md

Sobre

Somos uma comunidade brasileira que tem como objetivo principal promover o desenvolvimento de pacotes PHP, inicialmente voltados para o framework Laravel, que sigam diretrizes sólidas de desenvolvimento, resultando em pacotes confiáveis, padronizados e totalmente testados.


Guia de Desenvolvimento

  1. UtilizarArtesaos como namespace e seguir o padrão PSR-4.
  2. Seguir o padrão PSR-2, com algumas adições.
  3. Escrever testes e comentar o código com DocBlocks.
  4. Escrever uma documentação extensiva a respeito do pacote. 4.1 A documentação estar disponível preferencialmente em Português e Inglês.
  5. Releases devem ser versionadas semanticamente

Adições ao PSR-2

Nosso código segue PSR-2 porém, assim como o Laravel, adicionamos o nosso toque a estes padrões.

  1. A declaração do namespace deve estar na mesma linha da tag <?php.
  2. Na declaração de uma classe, o {deve ficar na mesma linha do nome da classe.
  3. Funções e estruturas de controle devem seguir o estilo Allman.
  4. A indentação deve ser feita com tabs e os alinhamentos com espaços.

Exemplo

<?php namespace Artesaos\Guardian;

use Illuminate\Contracts\Foundation\Application;

/**
 * DocBlock
 */
class Guardian {

    /**
     * The Laravel Application
     *
     * @var \Illuminate\Contracts\Foundation\Application
     */
    protected $app;

    /**
     * Class constructor
     *
     * @param Application $app Laravel Application
     */
    public function __construct(Application $app)
    {
        $this->app = $app;
    }

    /**
     * Check if the authenticated user can perform the given action
     *
     * @param $permission
     * @return bool
     */
    public function can($permission)
    {
        // ...
    }
    
}

Artesãos Lab

Com o intuito de manter a qualidade dos pacotes, criamos o Artesãos Lab. No lab, pacotes que ainda estão em Alpha são desenvolvidos até que estejam estáveis o suficiente para serem integrados ao nosso repositório oficial.

// TODO: Escrever a respeito do artesaos-lab.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment