Engenharia de software

Perguntas e respostas para profissionais, acadêmicos e estudantes que trabalham no ciclo de vida de desenvolvimento de sistemas

5
Permitir iteração de um vetor interno sem vazar a implementação
Eu tenho uma classe que representa uma lista de pessoas. class AddressBook { public: AddressBook(); private: std::vector<People> people; } Eu quero permitir que os clientes iterem sobre o vetor de pessoas. O primeiro pensamento que tive foi simplesmente: std::vector<People> & getPeople { return people; } No entanto, não quero vazar …
32 c++ 

2
Escolhendo o padrão de design certo
Eu sempre reconheci a importância de utilizar padrões de design. Estou curioso para saber como outros desenvolvedores escolhem o mais apropriado. Você usa uma série de características (como um fluxograma) para ajudá-lo a decidir? Por exemplo: Se os objetos estão relacionados, mas não queremos especificar classe concreta, considere Resumo Quando …

3
Como representar tipos (enum) em uma API pública
Estou trabalhando em uma API simples que quero usar para meu próprio cliente e para abrir ao público no futuro. Eu tenho objetos "Item" que podem ter "tipos" diferentes. O tipo é um "typedef enum" C, por enquanto tenho: typedef enum { ItemTypeBool, ItemTypeNumber, ItemTypeDate, } ItemType; (Eu posso adicionar …






4
Resumo Tipo de dados e estrutura de dados
É muito difícil para mim entender esses termos. Eu pesquisei no google e li um pouco na Wikipedia, mas ainda não tenho certeza. Eu determinei até agora que: Abstract Data Type é uma definição de novo tipo, descreve suas propriedades e operações. Estrutura de dados é uma implementação do ADT. …


9
Quando refatorar
Eu li a maioria dos livros sobre refatoração da Fowler e refatorei muitas aplicações no passado, grandes e pequenas. Uma das coisas mais difíceis que eu ensino é "quando" refatorar. Costumo fazer isso com base em uma sensação de intestino que me serviu notavelmente bem no passado. No entanto, ao …





Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.