Skip to content

Commit 8d122b0

Browse files
revision on part4a
1 parent 6299003 commit 8d122b0

File tree

1 file changed

+15
-15
lines changed

1 file changed

+15
-15
lines changed

src/content/4/pt/part4a.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,9 @@ app.listen(config.PORT, () => {
6666
})
6767
```
6868

69-
O arquivo <i>index.js</i> somente importa a aplicação do arquivo <i>app.js</i> e depois iniciar a aplicação. A função _info_ do módulo logger é usada para imprimir no console, informando que a aplicação está sendo executada.
69+
O arquivo <i>index.js</i> somente importa a aplicação do arquivo <i>app.js</i> e depois inicia a aplicação. A função _info_ do módulo logger é usada para imprimir no console, informando que a aplicação está sendo executada.
7070

71-
Agora, o app Express e o código encarregado de cuidar do servidor web estão separados, seguindo assim [as melhores](https://dev.to/nermineslimane/always-separate-app-and-server-files--1nc7) [práticas](https://nodejsbestpractices.com/sections/projectstructre/separateexpress). Uma das vantages desse método é que a aplicação poderá agora ser testada a nível de chamadas de API HTTP, sem realizar chamadas via HTTP sobre a rede, o que resultará em execuções de testes mais rápidas.
71+
Agora, o app Express e o código encarregado de cuidar do servidor web estão separados, seguindo assim [as melhores](https://dev.to/nermineslimane/always-separate-app-and-server-files--1nc7) [práticas](https://nodejsbestpractices.com/sections/projectstructre/separateexpress). Uma das vantagens desse método é que a aplicação poderá agora ser testada a nível de chamadas de API HTTP, sem realizar chamadas via HTTP sobre a rede, o que resultará em execuções de testes mais rápidas.
7272

7373
O gerenciamento de variáveis de ambiente é extraído em um arquivo separado <i>utils/config.js</i>:
7474

@@ -200,7 +200,7 @@ app.use('/api/notes', notesRouter)
200200
201201
Esse _router_ que definimos mais cedo é usado <i>se</i> a URL da requisição começar com <i>/api/notes</i>. Por este motivo, o objeto notesRouter somente deve definir rotas com caminhos relativos, por exemplo o caminho vazio <i>/</i> ou apenas o parâmetro <i>/:id</i>.
202202
203-
Após estas mudanças, nosso arquivo <i>app.js</i> ficará está desta forma:
203+
Após estas mudanças, nosso arquivo <i>app.js</i> ficará desta forma:
204204
205205
```js
206206
const config = require('./utils/config')
@@ -237,7 +237,7 @@ app.use(middleware.errorHandler)
237237
module.exports = app
238238
```
239239
240-
O código coloca diferente middleware em uso, um deles é o <i>notesRouter</i> que está acoplado à rota <i>/api/notes</i>.
240+
O código coloca diferentes middleware em uso, um deles é o <i>notesRouter</i> que está acoplado à rota <i>/api/notes</i>.
241241
242242
Nosso middleware personalizado foi movido para o novo módulo <i>utils/middleware.js</i>:
243243
@@ -300,7 +300,7 @@ noteSchema.set('toJSON', {
300300
module.exports = mongoose.model('Note', noteSchema)
301301
```
302302
303-
Para recapitular, após estas mudanças a estrutura de diretórios está desta forma:
303+
Para recapitular, após estas mudanças a estrutura de diretórios estará desta forma:
304304
305305
```bash
306306
├── index.js
@@ -321,7 +321,7 @@ Para recapitular, após estas mudanças a estrutura de diretórios está desta f
321321
322322
Para aplicações pequenas, a estrutura de diretórios não é muito relevante. Mas uma vez que a aplicação começa a crescer, você precisará estabelecer algum tipo de estrutura e separar diferentes responsabilidades da aplicação em módulos distintos. Isso facilitará muito o desenvolvimento da aplicação.
323323
324-
As aplicações Expresse não requerem uma estrutura de diretórios pré-determinada ou convenção de nomes para arquivos. Em contrapartida, Ruby on Rails de fato requer uma estrutura específica. Nossa estrutura atual simplesmente segue algumas das melhores práticas que você poderá encontrar na internet.
324+
As aplicações Express não requerem uma estrutura de diretórios pré-determinada ou convenção de nomes para arquivos. Em contrapartida, Ruby on Rails de fato requer uma estrutura específica. Nossa estrutura atual simplesmente segue algumas das melhores práticas que você poderá encontrar na internet.
325325
326326
Você pode encontrar o código atual da nossa aplicação na branch <i>part4-1</i> [neste repositório GitHub](https://github.com/fullstack-hy2020/part3-notes-backend/tree/part4-1).
327327
@@ -366,7 +366,7 @@ info('message')
366366
error('error message')
367367
```
368368
369-
A segunda maneira pode ser mais indicada se somente uma pequena parte das funções exportadas forem utilizadas no código.
369+
A segunda maneira pode ser mais indicada caso somente uma pequena parte das funções exportadas forem utilizadas no código.
370370
371371
No arquivo <i>controller/notes.js</i> a exportação funciona assim:
372372
@@ -469,7 +469,7 @@ Uma boa prática é realizar _commits_ do seu código periodicamente, sempre que
469469
470470
Nós negligenciamos completamente uma área essencial no desenvolvimento de software chamada de testes.
471471
472-
Vamos iniciar nossa jornada nos testes dando uma olhada nos testes unitários (_unit tests_). A lógica de nossa aplicação é tão simples, que não faz muito sentido os testes unitários. Vamos criar um um novo arquivo <i>utils/for_testing.js</i> e escrever algumas funções simples para praticarmos escrita de teste:
472+
Vamos iniciar nossa jornada nos testes dando uma olhada nos testes unitários (_unit tests_). A lógica de nossa aplicação é tão simples, que não faz muito sentido os testes unitários. Vamos criar um novo arquivo <i>utils/for_testing.js</i> e escrever algumas funções simples para praticarmos a escrita de testes:
473473
474474
```js
475475
const reverse = (string) => {
@@ -526,7 +526,7 @@ Vamos definir um script para os testes com o comando <i>npm script _test_</i> qu
526526
}
527527
```
528528
529-
O Jest requer que seja especificado que o ambiente de execução é o Node. Isso pode ser feito adicionando as seguintes linhas ao final do arquivo <i>package.json</i>:
529+
O Jest requer a especificação de que o ambiente de execução é o Node. Isso pode ser feito adicionando as seguintes linhas ao final do arquivo <i>package.json</i>:
530530
531531
```js
532532
{
@@ -633,7 +633,7 @@ describe('average', () => {
633633
})
634634
```
635635
636-
O teste revela que a função não funciona corretamente com um array vazio (isso se deve ao fato de a divisão por zero no JavaScript resultar em <i>NaN</i>):
636+
O teste revela que a função não funciona corretamente com um array vazio (isso se deve ao fato da divisão por zero no JavaScript resultar em <i>NaN</i>):
637637
638638
![terminal output showing empty array fails with jest](../../images/4/3.png)
639639
@@ -667,7 +667,7 @@ Os blocos de descrição (describe blocks) são utilizados para agrupar testes e
667667
668668
Como veremos mais tarde, os blocos <i>describe</i> são necessários quando queremos executar alguma configuração compartilhada ou operações de encerramento (teardown) para um grupo de testes.
669669
670-
Outra coisa a observar é que escrevemos testes de maneira compacta, sem atribuir a saída da função testada a uma variável:
670+
Outra coisa a se observar é que escrevemos testes de maneira compacta, sem atribuir a saída da função testada a uma variável:
671671
672672
```js
673673
test('of empty array is zero', () => {
@@ -714,7 +714,7 @@ test('dummy returns one', () => {
714714
715715
Defina uma nova função _totalLikes_ que recebe uma lista de posts de blog como parâmetro. A função retorna o total da soma de <i>likes</i> em todos os posts.
716716
717-
Escreva os testes apropriados para a função. É recomendado colocar os testes dentro de blocos <i>describe</i> block so that the test report output gets grouped nicely:
717+
Escreva os testes apropriados para a função. É recomendado colocar os testes dentro de um bloco <i>describe</i> para que a saída do relatório de testes seja agrupada de forma eficiente:
718718
719719
![npm test passing for list_helper_test](../../images/4/5.png)
720720
@@ -740,7 +740,7 @@ describe('total likes', () => {
740740
})
741741
```
742742
743-
Se definir seus próprios inputs para testes for muito trabalho, você pode usar uma lista pronta [aqui](https://raw.githubusercontent.com/fullstack-hy2020/misc/master/blogs_for_test.md).
743+
Se definir seus próprios inputs para testes for muito trabalhoso, você pode usar uma lista pronta [aqui](https://raw.githubusercontent.com/fullstack-hy2020/misc/master/blogs_for_test.md).
744744
745745
Você vai enfrentar problemas ao escrever testes. Lembre-se das coisas que aprendemos sobre [depuração](/ptbr/part3/salvando_dados_no_mongo_db#depurando-aplicacoes-node) na parte 3. Você pode imprimir coisas no console com _console.log_ mesmo durante a execução de testes. É possível até mesmo utilizar o depurador (debugger) enquanto estiver rodando os testes, veja como fazer isso [aqui](https://jestjs.io/docs/en/troubleshooting).
746746
@@ -774,7 +774,7 @@ Escreva os testes para este exercício dentro de um novo bloco <i>describe</i>.
774774
775775
Esse e o próximo exercício são um pouco mais desafiadores. Terminar esses dois exercício não é um requisito para avançar pelo material do curso, então pode ser uma boa ideia retornar a estes exercícios quando você passar pelo material desta parte completamente.
776776
777-
A conclusão deste exercício pode se dá sem o uso de bibliotecas adicionais . No entanto, esse exercício é uma grande oportunidade para aprender a utilizar a biblioteca [Lodash](https://lodash.com/).
777+
A conclusão deste exercício pode se dá sem o uso de bibliotecas adicionais. No entanto, esse exercício é uma grande oportunidade para aprender a utilizar a biblioteca [Lodash](https://lodash.com/).
778778
779779
Crie uma função chamada _mostBlogs_ que recebe um array de blogs como parâmetro. A função retorna o <i>author</i> (autor) com o maior número de blogs. O retorno também deverá conter a quantidade de blogs que este autor possui:
780780
@@ -789,7 +789,7 @@ Se houver empate, é suficiente retornar apenas um dos autores.
789789
790790
#### 4.7*: funções auxiliares e testes unitários, passo 5
791791
792-
Crie uma função _mostLikes_ que recebe um array de blogs como parâmetro. A função retorna o autor cujos posts têm a maior quantidade de likes. O valor retornado também deve conter o número total de likes que autor recebeu:
792+
Crie uma função _mostLikes_ que recebe um array de blogs como parâmetro. A função retorna o autor cujo os posts têm a maior quantidade de likes. O valor retornado também deve conter o número total de likes que o autor recebeu:
793793
794794
```js
795795
{

0 commit comments

Comments
 (0)