Engenharia de software

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

3
C ++ fortemente tipado typedef
Eu tenho tentado pensar em uma maneira de declarar typedefs fortemente tipados, para capturar uma certa classe de bugs no estágio de compilação. Geralmente, digito um int em vários tipos de IDs ou um vetor para posição ou velocidade: typedef int EntityID; typedef int ModelID; typedef Vector3 Position; typedef Vector3 …
50 c++  c++11  type-safety 

5
Por que o Python não permite lambdas de várias linhas?
Alguém pode explicar as razões concretas pelas quais a BDFL escolhe criar lambdas em Python em uma única linha? Isso é bom: lambda x: x**x Isso resulta em um erro: lambda x: x**x Entendo que a criação de várias linhas lambda de alguma forma "perturbaria" as regras normais de indentação …
50 lambda  python 




6
Por que muitas funções que retornam estruturas em C, na verdade, retornam ponteiros para estruturas?
Qual é a vantagem de retornar um ponteiro para uma estrutura em vez de retornar toda a estrutura na returninstrução da função? Eu estou falando sobre funções como fopene outras funções de baixo nível, mas provavelmente existem funções de nível superior que retornam ponteiros para estruturas também. Acredito que isso …

2
Quais são as melhorias do MVP sobre o MVC?
Eu li por três dias sobre os padrões Model-View-Controller (MVC) e Model-View-Presenter (MVP) . E há uma pergunta que me incomoda muito. Por que os designers de software inventaram o MVP, quando já havia um MVC? Quais problemas eles enfrentaram, que o MVC não resolveu (ou resolveu mal), mas o …






5
Por que todas as funções <algorithm> usam apenas intervalos, não contêineres?
Existem muitas funções úteis &lt;algorithm&gt;, mas todas elas operam em "sequências" - pares de iteradores. Por exemplo, se eu tenho um container e gostaria de rodar std::accumulatenele, preciso escrever: std::vector&lt;int&gt; myContainer = ...; int sum = std::accumulate(myContainer.begin(), myContainer.end(), 0); Quando tudo que pretendo fazer é: int sum = std::accumulate(myContainer, 0); …


6
Solução alternativa para exceções verificadas por Java
Aprecio muito os novos recursos do Java 8 sobre interfaces lambdas e métodos padrão. No entanto, ainda me aborreço com exceções verificadas. Por exemplo, se eu apenas quiser listar todos os campos visíveis de um objeto, gostaria de simplesmente escrever isto: Arrays.asList(p.getClass().getFields()).forEach( f -&gt; System.out.println(f.get(p)) ); No entanto, como o …

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.