Padrões e Uma Teoria da programação Flashcards

1
Q

Por que vale a pena o uso de padrões, apesar das restrições que impõem

A

Economia de tempo e energia. Padrões são econômicos quando se tornam um hábito, como fazer a cama, e aplicados de acordo com o contexto.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Como padrões devem ser encarados

A

Otimizadores, ferramentas de auxílio e genéricos, necessitando serem implementados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Qual a motivação para se estudar a teoria da programação

A

A necessidade por abordagens gerais para problemas específicos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Há forças maiores e mais universais na programação do que aquelas que são cobertas por um padrão específico. Que são?

A

Valores e princípios.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Quais são os valores da teoria da programação

A

Comunicação, simplicidade e flexibilidade.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Quais são os objetivos dos princípios da teoria da programação

A

Criar pontes entre os valores (universais, mas muitas vezes difíceis de aplicar diretamente) e os padrões (que têm aplicação clara, mas específica)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Quais elementos necessários para um estilo de desenvolvimento equilibrado

A

Valores, princípios e padrões

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Qual a vantagem de entender princípios

A

A facilidade na resolução de conflitos entre programadores, visto que a discussão ficara no contexto e não na implementação.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Os melhores programas possuem os três valores da teoria da programação ou seja…

A

Oferecem muitas opções para extensões futuras
Não contêm elementos estranhos
São fáceis de ler e de entender

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Como deve se pensar ao programar?

A

Como o computador
Como a pessoa que lê
Ninguém quer lidar com pessoas difíceis, incompreensíveis ou irritantes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Qual argumento econômico a favor da comunicação?

A

A maioria dos custos de um software ocorre depois de ser implementado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Qual argumento econômico a favor da simplicidade?

A

Permite a leitura e o entendimento mais rápida do programa

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Onde aplicar a simplicidade?

A

Em todos os níveis

Formate o código de modo que nenhuma linha possa ser apagada sem que se perca informação

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Qual a diferença entre simplicidade e comunicação?

A

Simplicidade se refere a quantidade de recursos algoritmicos
Comunicação se refere a semântica do algoritmo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Quando se deve preferir a comunicação à simplicidade?

A

Quando ser simples envolver dificultar a leitura - compreensão - do código

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Por que a flexibilidade derivada da simplicidade e testes extensivos é mais eficaz que a flexibilidade gerada por um projeto especulativo?

A

A flexibilidade que se imagina pode ser necessária no futuro, mas é provável que não seja o que se precisa no mommento de alterar o código

17
Q

Qual a relação entre melhora de comunicação e flexibilidade

A

Quanto mais pessoas puderem ler, entender e modificar o código rapidamente, mas opções se tem para mudanças futuras

18
Q

O que são princípios?

A

Idéias gerais, porém mais específicas que valores, para a solução de problemas de software

19
Q

O que envolve o princípio de manter consequências locais?

A

Se uma mudança aqui pode causar um problema lá, então o custo da mudança aumenta drasticamente
Consequência local aumenta a comunicação
Pode ser entendido gradualmente, sem entender de princípio o todo

20
Q

O que envolve o princípio de minimizar repetição?

A

Diminuir código repetido em locais diferentes

Facilita o princípio de consequência local

21
Q

O que envolve o princípio de lógica e dados em harmonia?

A

Colocar a lógica e os dados próximos um do outro

Facilita o princípio de consequência local

22
Q

O que envolve o princípio de simetria?

A

No código, ela está onde a mesma idéia é expressada da mesma forma em todos os lugares em que aparece o código