5 maneiras de melhorar seu código php

Post on 16-Apr-2017

718 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

$maneirasDeMelhorarSeuCodigo

Aplicando 5S no seu código

AUGUSTO DAS NEVES@AUGUSTO_DAS

2

Agenda

Origem

Conceitos

Considerações

3

ORIGEM5S

4

5

$Limpeza = $Seiso = 清掃 PHPCSD PHPMD

PHPDEPEND

X

6

QA TOOLS• PHP QA TOOLS - http://phpqatools.org/

• PHPUnit• PHP_Depend• PHP Dead Code Detector• PHP_CodeSniffer• PHP Mess DetectorEntre outros...

7

$organizacao[] = $seiton = 整頓 Linha Guia

9

<?php foreach($consulta as $valor): ?> <tr> <td><?php echo $valor->id; ?></td> <td><?php echo $valor->nome; ?></td> <td><?php echo $valor->email; ?></td> <tr> <?php endforeach; ?>

Servido?

10

$organizacao[] =$namespacesCriado para resolver o problema de escopo entre bibliotecas.*Namespace pode conter definições de classes, constantes e funções, mas não código livre. (A partir da versão 5.3)

<?php namespace core\Controller\Hello;

class World { function __construct() { echo "Helloworld"; } } ?>

11

Qual é a ideia?

Core

DB

URL

12

Paradigma?

• Estude-os (objetos,aspectos,eventos)• Há projetos?

13

• Gere sua documentação automaticamente• Gerencie suas tarefas através do seu código

$organizacao[] =$phpdocumentor

14

15

Exemplo

16

Isso é justificável hoje?<?phpfunction require_path($path) { $root = scandir($path); $files = array(); foreach($root as $value) { if($value === '.' || $value === '..') {continue;} if(is_file("$path/$value")) { $pInfo = pathinfo($value); if ($pInfo['extension'] == "php") { require_once("$path/$value"); echo "$path/$value<br>"; } } else { require_path($path); } }}?>

17

Como podemos modificar isso?

scandir($dir)

__autoload($classname)

use

18

$utilidade= $seiri = 整理 O que é util?

Refatore

19

Refatoração

• Maioria das técnicas associadas ao oop!Extrair Método (Extract Method)Mover Método (Move Method)Mover Atributo (Move Field')Extrair Classe (Extract Class)Encapsular Atributo (Encapsulate Field)Renomear Método (Rename Method)Subir Método (Pull Up Method)Subir Atributo (Pull Up Field)Descer Método (Push Down Method)Descer Atributo (Push Down Field)Extrair Sub-classe (Extract Subclass)Extrair Super-classe (Extract Superclass)

20

清潔 , Seiketsu

Café?Coca-Cola

21

躾 , Shitsuke

Disciplina

22

Considerações Finais

DRY(Do not repeat yourself) – (Já Falamos)KISS(Keep it simple, stupid) – Menos é mais

Php.netGUIA

23

Perguntas

24

Obrigado

top related