Engenharia de software

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

2
Licenciando o Ghostscript em um produto comercial
Estamos estudando uma perspectiva de uso do Ghostscript em um produto comercial (aplicativo de desktop do Windows). Eu li sobre evitar o licenciamento do GS simplesmente sugerindo aos usuários que eles podem baixar e instalar o GS por conta própria para melhorar sua experiência (o software realmente funciona sem ele …
19 licensing 

4
Programação orientada a eventos: quando vale a pena?
Ok, eu sei que o título desta pergunta é quase idêntico a Quando devo usar a programação baseada em eventos? mas as respostas dessa pergunta não me ajudaram a decidir se devo usar eventos no caso específico que estou enfrentando. Estou desenvolvendo um pequeno aplicativo. É um aplicativo simples e, …




4
Como ter muitas variáveis ​​de instância leva ao código duplicado?
De acordo com a refatoração de padrões : Quando uma classe está tentando fazer muito, muitas vezes aparece como muitas variáveis ​​de instância. Quando uma classe tem muitas variáveis ​​de instância, o código duplicado não pode ficar muito atrás. Como ter muitas variáveis ​​de instância leva ao código duplicado?

3
Exceções - "o que aconteceu" vs "o que fazer"
Usamos exceções para permitir que o consumidor do código lide com comportamentos inesperados de uma maneira útil. Geralmente, as exceções são criadas em torno do cenário "o que aconteceu" - como FileNotFound(não foi possível encontrar o arquivo que você especificou) ou ZeroDivisionError(não foi possível executar a 1/0operação). E se houver …
19 exceptions 


3
É sensato devolver o Streams para onde normalmente devolveríamos Coleções?
Ao desenvolver minha API que não está vinculada a nenhum código legado, muitas vezes me pego escrevendo métodos que são puramente pipeline do Streams encerrados coletando os resultados. Como este: ImmutableSet<T> deriveSomethingMeaningfulFromPrivateState() { return myPrivateThingies.stream() .map(this::ownerOfThing) .map(Owner::socialStatus) .filter(SocialStatus::isHeAFineMatey) .collect(MyCustomCollectors.toImmutableSet()); } Agora, a maioria dos clientes dessa classe geralmente precisará da …







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.