Engenharia de software

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


2
Por que usar typedefs para estruturas?
em C (ANSI, C99, etc.), as estruturas vivem em seu próprio espaço para nome. Uma estrutura para uma lista vinculada pode ser algo como isto: struct my_buffer_type { struct my_buffer_type * next; struct my_buffer_type * prev; void * data; }; Parece bastante natural, no entanto, para a maioria dos programadores …

6
Quais são as desvantagens dos tipos imutáveis?
Eu me vejo usando tipos cada vez mais imutáveis quando não se espera que as instâncias da classe sejam alteradas . Requer mais trabalho (veja o exemplo abaixo), mas facilita o uso dos tipos em um ambiente multithread. Ao mesmo tempo, raramente vejo tipos imutáveis ​​em outros aplicativos, mesmo quando …
12 c#  immutability 


2
Declarar campos em classes é realmente prejudicial no PHP?
Considere o código a seguir, no qual o setter é deliberadamente quebrado devido a um erro de programação mundano que cometi de verdade algumas vezes no passado: <?php class TestClass { private $testField; function setField($newVal) { $testField = $newVal; // deliberately broken; should be `$this->testField = $newVal` } function getField() …
12 php 



2
Por que códigos de erro são negados?
Muitas vezes vejo na negação do código C dos códigos de erro retornados, por exemplo, em return -EINVALvez de return EINVAL. Por que usar negação?
12 c 

3
Criando uma camada de abstração sobre a camada ORM
Acredito que, se você tiver seus repositórios, use um ORM que já é suficiente abstraído do banco de dados. No entanto, onde estou trabalhando agora, alguém acredita que devemos ter uma camada que abstraia o ORM, caso desejemos alterá-lo mais tarde. É realmente necessário ou é simplesmente muito caro criar …
12 database  orm 

7
Refatoração e princípio Aberto / Fechado
Recentemente, li um site sobre desenvolvimento de código limpo (não coloquei um link aqui porque não está em inglês). Um dos princípios anunciados por este site é o Princípio Aberto Fechado : cada componente de software deve estar aberto para extensão e fechado para modificação. Por exemplo, quando implementamos e …



3
É uma prática recomendada pré-inicializar atributos em uma classe ou adicioná-los ao longo do caminho?
Sinto muito se essa é uma pergunta absolutamente sofisticada, mas estou curiosa para saber quais são as melhores práticas e não consigo encontrar uma boa resposta no Google. Em Python, eu costumo usar uma classe vazia como um contêiner de estrutura de dados com capacidade super grande (como um arquivo …



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.