Pergunta

Eu estou trabalhando em um bastante grande sistema desenvolvido por um outro programador que não trabalha mais aqui.

E desde que eu sou o assassino em série maníaco que está mantendo-lo e sabe onde ele mora.

Mas divertidas coisas de lado, o sistema é um bocado desenvolvido como um sistema de classes e meio que não e eu já configurar uma versão do desenvolvedor tem e pode implantar novas versões muito rapidamente.

  1. Você tem alguma dica sobre um movimento parcial a um novo modelo (eu não posso fazer uma transição completa, só não chegar a tempo)
  2. Você recomenda quaisquer nomes de classe que eu possa sair no sistema (sem a aparência de um corte), mas não irá colidir com nomes de classe atuais (usuário, dados, registrando etc)

Graças.

Foi útil?

Solução

Dica # 0) é o código existente realmente realmente realmente ruim, ou ele simplesmente não atender às suas preferências pessoais? Se for o primeiro, continue lendo esta lista. Se ele é o último, tomar algumas respirações profundas, e passar pelo menos um mês ou dois para conhecer as coisas antes de decidir que você precisa re fazê-lo.

Dica # 1) Quando você está codificando, se você vê algo que não está certo, corrigi-lo. Isso vai levar mais tempo, mas ele acabará por lhe dar ganhos de produtividade como o sistema fica mais 'fixo'. Se você realmente não tem tempo para corrigi-lo, faça um favor e adicionar um comentário como este: // TODO: coisa rejig por isso faz x Mais tarde, quando tiver tempo, basta procurar o código para "TODO:" para obter uma lista de coisas que você precisa fazer. Você também pode dar-lhes os níveis, como "TODO-High", "TODO-Medium", "TODO-Low". Se você usar o Eclipse ou Zend Studio para Eclipse como seu editor / IDE, você pode configurá-lo para automaticamente encontrar e bandeira estes para você, em Preferências> Tarefas.

Dica # 2) Uma coisa importante a fazer se você esperar para (eventualmente) transição para MVC é separar HTML da lógica. Isso significa usar modelos. Esta tarefa poderia levar um longo tempo, mas uma vez que é feito, o resto de sua transição será muito mais fácil.

Dica # 3) Tente estabelecer convenções. Exemplo: nomes e de controle de Visualização deve corresponder ao URL, e ao vivo em diretórios correspondentes ao URL. URL para editar Lugar 1234: lugares / / editar / 1234 Arquivo controlador: /htdocs/sitename/controllers/placesController.php Arquivo de Modelo: /htdocs/sitename/views/places/edit.tpl

Dica # 4) Leia 'começar com' tutoriais para as principais estruturas: Zend, CakePHP, CodeIgniter / Kohana, Symfony. Veja se olharmos melhor que o outro para você. Pergunte-se porque você gosta dela. Será que vai trabalhar para você, ou que você precisa para lançar seu próprio quadro (duvidoso). Se possível, use um quadro existente. Já foi por centenas ou milhares de pessoas testadas pelo bug, e que é tempo que você salvar! I como o Zend Framework mim mesmo, e é particularmente bom para "projectos de transição", como o seu, porque você pode levá-lo ou deixá-lo uma peça de cada vez. Quero dizer, você poderia optar por usar apenas Ver objeto do Zend, ou usá-lo apenas é objeto DbTable. Você é livre para deixar de fora tanto quanto dele como você gosta. Isto significa que você pode gradualmente transição para uma Zend-mundo no seu próprio ritmo. EZ-Componentes funciona da mesma maneira.

Dica # 5) aulas envoltório que você usa, estendendo-los. Por exemplo, eu uso Zend_Acl, mas realmente usar minha própria classe Acl que se estende Zend_Acl. Isso tem duas implicações importantes: a) I pode trocar Zend_Acl para outra coisa sem alterar meu código, porque tudo se refere ao bom e velho 'Acl' b) Eu posso modificar a forma como Zend_Acl trabalha para atender às minhas necessidades específicas, porque eu pode substituir quaisquer métodos que eu gosto na minha classe 'Acl'.

Dica # 6) Tentar obter buy-in de gestão. Explicar-lhes que refatoração vai realmente salvar-lhes dinheiro, porque vai aumentar a consistência e compreensibilidade de código, o que ajuda reduz o número de defeitos e torna-los mais fáceis de encontrar e correção.

Dica # 7) Tente ler livros sobre o tema, como "Refatoração: Aperfeiçoando o Projeto de Código Existente" por Martin Fowler

Outras dicas

zend tem bom convenção de nomenclatura: http://framework.zend.com/manual/en/ codificação-standard.naming-conventions.html

Eles acrescentaram Zend_ prefixo para todos eles aulas e é assim que eles evitar confrontos com as classes de terceiros.

Na minha opinião cada grande projeto deve implementar convenção de nomenclatura semelhante, pelo menos por classes principais.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top