Logo Passei Direto

Herramientas de estudio

Preguntas resueltas

Material
¡Estudia con miles de materiales!

Preguntas resueltas

Vista previa del material en texto

Reusabilidade
O que significa "reusabilidade" no contexto do desenvolvimento de software?
a) A capacidade de modificar o codigo sem causar impactos
b) A pratica de reutilizar codigo ja existente em diferentes partes de um sistema ou em diferentes
projetos
c) A criacao de bibliotecas externas para uso em projetos futuros
d) A utilizacao de componentes de codigo fechados e proprietarios
Resposta correta: b) A pratica de reutilizar codigo ja existente em diferentes partes de um sistema
ou em diferentes projetos
Explicacao: Reusabilidade se refere a capacidade de usar componentes ou modulos de codigo que
ja foram criados em diferentes contextos, seja no mesmo sistema ou em sistemas distintos, sem
necessidade de reescrever o codigo do zero.
Quais sao as vantagens de se adotar a reusabilidade no desenvolvimento de software?
a) Aumento da complexidade do codigo e dificuldade de manutencao
b) Reducao do tempo de desenvolvimento, aumento da consistencia e manutencao mais facil
c) Maior controle sobre cada linha de codigo
d) Menor dependencia de bibliotecas e frameworks externos
Resposta correta: b) Reducao do tempo de desenvolvimento, aumento da consistencia e
manutencao mais facil
Explicacao: Ao reutilizar codigo, os desenvolvedores economizam tempo, pois nao precisam
reescrever funcoes ou modulos semelhantes. Alem disso, a reusabilidade contribui para a
consistencia e facilita a manutencao.
Qual e o impacto da reusabilidade no tempo de desenvolvimento de um projeto?
a) Aumento significativo do tempo de desenvolvimento devido a necessidade de criacao de
modulos reutilizaveis
b) Nao ha impacto no tempo de desenvolvimento
c) Reducao do tempo de desenvolvimento, pois os modulos reutilizaveis economizam esforco de
codificacao
d) O impacto varia dependendo do tamanho do projeto, mas geralmente aumenta o tempo devido a
complexidade
Resposta correta: c) Reducao do tempo de desenvolvimento, pois os modulos reutilizaveis
economizam esforco de codificacao
Explicacao: A reusabilidade reduz o tempo de desenvolvimento porque, ao reutilizar modulos de
codigo existentes, os desenvolvedores nao precisam comecar do zero. Isso permite a entrega mais
rapida de novas funcionalidades.
Qual das seguintes praticas contribui para melhorar a reusabilidade de codigo?
a) Escrever funcoes com o maximo de funcionalidades possiveis
b) Criar funcoes genericas e bem documentadas
c) Adicionar comentarios apenas nas linhas mais complexas
d) Fazer uso de codificacao especifica para cada projeto
Resposta correta: b) Criar funcoes genericas e bem documentadas
Explicacao: Funcoes genericas e bem documentadas sao mais faceis de serem reutilizadas, pois
podem ser aplicadas em diferentes cenarios e compreendidas por outros desenvolvedores de forma
rapida.
Qual e a principal diferenca entre codigo reutilizavel e codigo generico?
a) Codigo reutilizavel pode ser utilizado somente no mesmo sistema, enquanto codigo generico e
aplicavel a varios sistemas
b) Codigo generico e mais especifico e adequado para cada projeto, enquanto o reutilizavel e mais
abstrato
c) Codigo reutilizavel e adaptado para diferentes contextos, enquanto codigo generico nao e
modificado
d) Nao ha diferenca entre os dois, pois ambos sao a mesma coisa
Resposta correta: a) Codigo reutilizavel pode ser utilizado somente no mesmo sistema, enquanto
codigo generico e aplicavel a varios sistemas
Explicacao: O codigo reutilizavel pode ser reaproveitado no mesmo sistema ou em diferentes partes
do sistema. Ja o codigo generico e desenvolvido para ser o mais flexivel possivel e pode ser
utilizado em diferentes sistemas, com pouca ou nenhuma modificacao.
O que e o conceito de "modularizacao" no contexto de reusabilidade?
a) A pratica de criar grandes blocos de codigo para facilitar a compreensao
b) A divisao do codigo em partes menores e independentes que podem ser reutilizadas em
diferentes contextos
c) A escrita de codigo sem depender de bibliotecas externas
d) A execucao de testes automatizados em cada funcao do sistema
Resposta correta: b) A divisao do codigo em partes menores e independentes que podem ser
reutilizadas em diferentes contextos
Explicacao: A modularizacao envolve dividir o codigo em modulos ou componentes independentes,
que podem ser reutilizados em diferentes partes do sistema ou ate em outros projetos.
Quais sao os desafios de se garantir a reusabilidade no desenvolvimento de software?
a) Aumento de performance devido a reutilizacao constante do codigo
b) A necessidade de escrever codigo redundante em varias partes do sistema
c) A dificuldade de criar codigo generico que funcione em diferentes contextos sem modificacoes
d) A facilidade de encontrar solucoes prontas em frameworks e bibliotecas externas
Resposta correta: c) A dificuldade de criar codigo generico que funcione em diferentes contextos
sem modificacoes
Explicacao: Criar codigo generico e reutilizavel que funcione bem em diferentes cenarios pode ser
um desafio, pois e preciso garantir que ele seja flexivel o suficiente para ser adaptado sem quebras
ou dificuldades.
O que e o "principio DRY" (Don't Repeat Yourself), e como ele se relaciona com a reusabilidade?
a) E um principio que incentiva a duplicacao de codigo para facilitar a manutencao
b) E um principio que sugere evitar a repeticao de codigo, criando funcoes e modulos reutilizaveis
c) O principio DRY diz que o codigo deve ser escrito sem considerar reusabilidade
d) DRY e um conceito relacionado apenas a documentacao e comentarios no codigo
Resposta correta: b) E um principio que sugere evitar a repeticao de codigo, criando funcoes e
modulos reutilizaveis
Explicacao: O principio DRY (Don't Repeat Yourself) incentiva a eliminacao da repeticao no codigo,
promovendo a criacao de funcoes e modulos reutilizaveis, o que melhora a reusabilidade e facilita a
manutencao do software.
Como a reusabilidade pode afetar a manutencao de um sistema?
a) Torna a manutencao mais dificil devido a complexidade de integrar novos modulos reutilizaveis
b) Facilita a manutencao, pois as mudancas podem ser feitas em uma unica vez e refletir em varias
partes do sistema
c) Nao tem impacto na manutencao do sistema
d) Aumenta a necessidade de atualizacoes constantes em todas as partes do sistema
Resposta correta: b) Facilita a manutencao, pois as mudancas podem ser feitas em uma unica vez
e refletir em varias partes do sistema
Explicacao: A reusabilidade facilita a manutencao, pois, ao alterar um modulo reutilizavel, as
mudancas sao automaticamente refletidas em todos os lugares onde ele e utilizado, reduzindo a
necessidade de modificacoes em multiplos pontos do codigo.
O que e a "engenharia de software orientada a componentes" e como ela se relaciona com a
reusabilidade?
a) A criacao de um sistema totalmente monolitico sem depender de modulos externos
b) A construcao de sistemas com base em componentes reutilizaveis, promovendo maior
flexibilidade e manutencao
c) A pratica de escrever codigo especifico para cada projeto sem modularizacao
d) A utilizacao de componentes fechados que nao podem ser reutilizados em outros projetos
Resposta correta: b) A construcao de sistemas com base em componentes reutilizaveis,
promovendo maior flexibilidade e manutencao
Explicacao: A engenharia orientada a componentes foca na criacao de sistemas compostos por
modulos independentes que podem ser reutilizados em diferentes projetos, promovendo
flexibilidade e facilitando a manutencao.
Qual a diferenca entre "reusabilidade" e "extensibilidade" no desenvolvimento de software?
a) Reusabilidade e sobre modificar o codigo existente, enquanto extensibilidade e sobre criar novos
componentes a partir de zero
b) Reusabilidade refere-se a capacidade de usar o codigo existente em diferentes contextos,
enquanto extensibilidade e a capacidade de adicionar novas funcionalidades sem alterar o sistema
existente
c) Nao ha diferenca, pois ambos significam a mesma coisa
d) Extensibilidade esta relacionadaa refatorar o codigo, enquanto reusabilidade trata de refazer o
codigo para cada novo sistema
Resposta correta: b) Reusabilidade refere-se a capacidade de usar o codigo existente em
diferentes contextos, enquanto extensibilidade e a capacidade de adicionar novas funcionalidades
sem alterar o sistema existente
Explicacao: A reusabilidade permite que o codigo seja reaproveitado em diferentes situacoes,
enquanto a extensibilidade diz respeito a facilidade de adicionar novas funcionalidades ao sistema
sem comprometer seu funcionamento atual.
O que sao frameworks e como eles estao relacionados com a reusabilidade?
a) Sao ferramentas de teste que nao tem relacao com a reusabilidade
b) Sao estruturas de codigo que podem ser reutilizadas para facilitar o desenvolvimento de
sistemas, proporcionando componentes prontos para uso
c) Sao bibliotecas especificas para resolver problemas complexos que nao podem ser reutilizadas
d) Sao codigos fechados e nao reutilizaveis
Resposta correta: b) Sao estruturas de codigo que podem ser reutilizadas para facilitar o
desenvolvimento de sistemas, proporcionando componentes prontos para uso
Explicacao: Frameworks sao conjuntos de componentes e bibliotecas prontos para serem
reutilizados em diferentes projetos. Eles ajudam a acelerar o desenvolvimento, fornecendo
funcionalidades comuns que podem ser adaptadas para as necessidades do projeto.
O que e "refatoracao de codigo" e como ela pode contribuir para a reusabilidade?
a) Refatoracao e a pratica de escrever codigo do zero para melhorar a performance
b) Refatoracao melhora a estrutura e a legibilidade do codigo, facilitando a criacao de modulos
reutilizaveis
c) Refatoracao e a tecnica de substituir todo o codigo por