Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add think before you code post #171

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

MrNameless10
Copy link

This commit involves the addition of a new blog post titled "Think before you code". The post likely discusses the importance of taking time to plan and consider the approach before beginning to write code, as well as the potential benefits and pitfalls of rushing into coding without a proper plan. It could provide advice or strategies for effective planning, such as breaking down problems into smaller parts or using diagrams to visualize the solution. The post may be of interest to ninjas, developers, programmers, or anyone else involved in coding projects.

@netlify
Copy link

netlify bot commented Apr 1, 2023

👷 Deploy request for coderdojobraga-blog pending review.

Visit the deploys page to approve it

Name Link
🔨 Latest commit 9af3bba

@netlify
Copy link

netlify bot commented Apr 1, 2023

Deploy Preview for coderdojobraga-web canceled.

Name Link
🔨 Latest commit 9af3bba
🔍 Latest deploy log https://app.netlify.com/sites/coderdojobraga-web/deploys/6455822629df000008d7ad76

@netlify
Copy link

netlify bot commented Apr 1, 2023

Deploy Preview for coderdojobraga-app canceled.

Name Link
🔨 Latest commit 9af3bba
🔍 Latest deploy log https://app.netlify.com/sites/coderdojobraga-app/deploys/64558226304f9c0008935359

@ruioliveira02
Copy link
Member

Overall the content looks good to me 👍

@netlify
Copy link

netlify bot commented Apr 2, 2023

Deploy Preview for coderdojobraga-maintenance failed.

Name Link
🔨 Latest commit
🔍 Latest deploy log https://app.netlify.com/sites/coderdojobraga-maintenance/deploys/6455855171beef1eb63a30d1


## O que significa pensar antes de teclar?

Essencialmente, significa reservar um tempo para pensar no que desejas fazer antes de começar a escrever o código. Isso pode envolver desenhar diagramas, listar ou simplesmente pensar nas etapas que de precisas seguir para resolver um problema específico. Para isso, tens de pegar no problema e dividi-lo em partes menores e mais simples e, posteriormente, criar um plano de ação. Este processo costuma ser chamado de **"pensamento algorítmico"** e é uma habilidade fundamental que os cientistas da computação e engenheiros informáticos usam para abordar problemas complexos..
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Essencialmente, significa reservar um tempo para pensar no que desejas fazer antes de começar a escrever o código. Isso pode envolver desenhar diagramas, listar ou simplesmente pensar nas etapas que de precisas seguir para resolver um problema específico. Para isso, tens de pegar no problema e dividi-lo em partes menores e mais simples e, posteriormente, criar um plano de ação. Este processo costuma ser chamado de **"pensamento algorítmico"** e é uma habilidade fundamental que os cientistas da computação e engenheiros informáticos usam para abordar problemas complexos..
Essencialmente, significa reservar um tempo para pensar no que desejas fazer antes de começar a escrever o código. Isso pode envolver desenhar diagramas, listar ou simplesmente pensar nas etapas que de precisas seguir para resolver um problema específico. Para isso, tens de pegar no problema e dividi-lo em partes menores e mais simples e, posteriormente, criar um plano de ação. Este processo costuma ser chamado de **"pensamento algorítmico"** e é uma habilidade fundamental que os cientistas da computação e engenheiros informáticos usam para abordar problemas complexos.


2. **Divide:** após entender o problema, divide o problema em **partes mais pequenas e mais simples**. Pensa nas etapas que precisas seguir para resolver cada peça e como elas se encaixam para formar a solução maior.

3. **Planeia os teus algoritmos**: Se o problema envolve cálculos matemáticos ou algoritmos, reserva um tempo para planear. Escreve as etapas que precisas seguir e certifica-te de entender a lógica por trás de cada etapa, como um **verdadeiro matemático**.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
3. **Planeia os teus algoritmos**: Se o problema envolve cálculos matemáticos ou algoritmos, reserva um tempo para planear. Escreve as etapas que precisas seguir e certifica-te de entender a lógica por trás de cada etapa, como um **verdadeiro matemático**.
3. **Planeia os teus algoritmos**: se o problema envolve cálculos matemáticos ou algoritmos, reserva um tempo para planear. Escreve as etapas que precisas seguir e certifica-te de entender a lógica por trás de cada etapa, como um **verdadeiro matemático**.


4. **Fazer desenhos:** se ajudar, desenha diagramas ou fluxogramas para **ajudar a visualizar** a solução. Isso pode ser especialmente útil para problemas ou algoritmos complexos.

5. **Testar**: Ainda antes de passares para o computador **confirma** que tens a solução correta! Usa a tua cabeça ou até mesmo escreve um _debugger_ por exemplo um pseudocódigo para garantir que esteja tudo a funcionar conforme o esperado.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it would be nice to mention TDD as a fun fact here 👀

Copy link
Contributor

@AdrianaBot AdrianaBot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall, looks pretty good to me! I only added a few minor suggestions. 😊


---

Se és alguém que está ansioso para começar a programar, isso é **fantástico**! A programação é um campo empolgante que permite criar, projetar e construir coisas incríveis. Porém, antes de mergulhar na codificação, há um princípio importante que tens de ter em mente: **pensar antes de teclar**.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Se és alguém que está ansioso para começar a programar, isso é **fantástico**! A programação é um campo empolgante que permite criar, projetar e construir coisas incríveis. Porém, antes de mergulhar na codificação, há um princípio importante que tens de ter em mente: **pensar antes de teclar**.
Se estás ansioso para começar a programar, isso é **fantástico**! A programação é um campo empolgante que permite criar, projetar e construir coisas incríveis. Porém, antes de mergulhar na codificação, há um princípio importante que tens de ter em mente: **pensar antes de teclar**.


Se és alguém que está ansioso para começar a programar, isso é **fantástico**! A programação é um campo empolgante que permite criar, projetar e construir coisas incríveis. Porém, antes de mergulhar na codificação, há um princípio importante que tens de ter em mente: **pensar antes de teclar**.

Como **estudante** de **Ciências da Computação**, aprendi que programar é uma ferramenta poderosa que pode dar vida às nossas ideias e envolve muito mais do que apenas escrever código. Requer uma compreensão profunda da matemática e habilidades de lógica e de resolução de problemas para criar soluções eficientes e eficazes.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Como **estudante** de **Ciências da Computação**, aprendi que programar é uma ferramenta poderosa que pode dar vida às nossas ideias e envolve muito mais do que apenas escrever código. Requer uma compreensão profunda da matemática e habilidades de lógica e de resolução de problemas para criar soluções eficientes e eficazes.
Como **estudante** de **Ciências da Computação**, aprendi que programar é uma ferramenta poderosa que pode dar vida às nossas ideias e envolve muito mais do que apenas escrever código: requer uma compreensão profunda da matemática e habilidades de lógica e de resolução de problemas para criar soluções eficientes e eficazes.


## O que significa pensar antes de teclar?

Essencialmente, significa reservar um tempo para pensar no que desejas fazer antes de começar a escrever o código. Isso pode envolver desenhar diagramas, listar ou simplesmente pensar nas etapas que de precisas seguir para resolver um problema específico. Para isso, tens de pegar no problema e dividi-lo em partes menores e mais simples e, posteriormente, criar um plano de ação. Este processo costuma ser chamado de **"pensamento algorítmico"** e é uma habilidade fundamental que os cientistas da computação e engenheiros informáticos usam para abordar problemas complexos..
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Essencialmente, significa reservar um tempo para pensar no que desejas fazer antes de começar a escrever o código. Isso pode envolver desenhar diagramas, listar ou simplesmente pensar nas etapas que de precisas seguir para resolver um problema específico. Para isso, tens de pegar no problema e dividi-lo em partes menores e mais simples e, posteriormente, criar um plano de ação. Este processo costuma ser chamado de **"pensamento algorítmico"** e é uma habilidade fundamental que os cientistas da computação e engenheiros informáticos usam para abordar problemas complexos..
Essencialmente, significa reservar um tempo para pensar no que desejas fazer antes de começar a escrever o código. Isso pode envolver desenhar diagramas, listar ou simplesmente pensar nas etapas que precisas de seguir para resolver um problema específico. Para isso, tens de pegar no problema e dividi-lo em partes menores e mais simples e, posteriormente, criar um plano de ação. Este processo costuma ser chamado de **"pensamento algorítmico"** e é uma habilidade fundamental que os cientistas da computação e engenheiros informáticos usam para abordar problemas complexos.


Outro aspeto importante de pensar antes de programar é entender a matemática por trás da programação. Embora linguagens de programação como **_Python_, _Java_, _C_**… nos permitam criar programas poderosos, elas são construídas com base em conceitos matemáticos. Quando tens um plano claro em mente, é menos provável que cometas erros ou ignores detalhes importantes. Por exemplo, os algoritmos, que são uma parte fundamental do estudo desta área, são baseados em princípios matemáticos como **eficiência**, **correção** e **escalabilidade**.

Por fim, pensar antes de bater no teclado ajuda-te a ser um programador melhor, em geral. Quando reservas algum tempo para planear o teu código, és forçado a pensar mais profundamente sobre o problema que resolves. Isso pode levar a soluções mais elegantes, a uma melhor organização de código e algoritmos mais eficientes. Pensar num problema, é também considerar casos extremos e possíveis erros. Considerar esses cenários antes de escrever o código, ajuda-te a ter uma solução mais robusta e menos propensa a erros. Na programação, é essencial **considerar todos os resultados** possíveis e garantir que o teu código esteja preparado para lidar com eles. Desenvolver bons hábitos de planeamento desde o início, preparara-te para o **sucesso** enquanto continuas a aprender e crescer como programador.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Por fim, pensar antes de bater no teclado ajuda-te a ser um programador melhor, em geral. Quando reservas algum tempo para planear o teu código, és forçado a pensar mais profundamente sobre o problema que resolves. Isso pode levar a soluções mais elegantes, a uma melhor organização de código e algoritmos mais eficientes. Pensar num problema, é também considerar casos extremos e possíveis erros. Considerar esses cenários antes de escrever o código, ajuda-te a ter uma solução mais robusta e menos propensa a erros. Na programação, é essencial **considerar todos os resultados** possíveis e garantir que o teu código esteja preparado para lidar com eles. Desenvolver bons hábitos de planeamento desde o início, preparara-te para o **sucesso** enquanto continuas a aprender e crescer como programador.
Por fim, pensar antes de bater no teclado ajuda-te a ser um programador melhor, em geral. Quando reservas algum tempo para planear o teu código, és forçado a pensar mais profundamente sobre o problema que resolves. Isso pode levar a soluções mais elegantes, a uma melhor organização de código e algoritmos mais eficientes. Pensar num problema é também considerar casos extremos e possíveis erros. Considerar esses cenários antes de escrever o código ajuda-te a ter uma solução mais robusta e menos propensa a erros. Na programação, é essencial **considerar todos os resultados** possíveis e garantir que o teu código esteja preparado para lidar com eles. Desenvolver bons hábitos de planeamento desde o início preparar-te para o **sucesso** enquanto continuas a aprender e crescer como programador.


Então, fazendo as contas finais, as **principais ideias** são:

1. **Define o problema:** antes de começar a programar, certifica-te de entender exatamente qual problema tentas resolver. Faz uma **descrição clara do problema**, com quaisquer restrições ou requisitos que precisas considerar.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
1. **Define o problema:** antes de começar a programar, certifica-te de entender exatamente qual problema tentas resolver. Faz uma **descrição clara do problema**, com quaisquer restrições ou requisitos que precisas considerar.
1. **Define o problema:** antes de começar a programar, certifica-te que entendes exatamente qual problema que estás a tentar resolver. Faz uma **descrição clara do problema**, com quaisquer restrições ou requisitos que precises de considerar.


1. **Define o problema:** antes de começar a programar, certifica-te de entender exatamente qual problema tentas resolver. Faz uma **descrição clara do problema**, com quaisquer restrições ou requisitos que precisas considerar.

2. **Divide:** após entender o problema, divide o problema em **partes mais pequenas e mais simples**. Pensa nas etapas que precisas seguir para resolver cada peça e como elas se encaixam para formar a solução maior.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
2. **Divide:** após entender o problema, divide o problema em **partes mais pequenas e mais simples**. Pensa nas etapas que precisas seguir para resolver cada peça e como elas se encaixam para formar a solução maior.
2. **Divide:** após entender o problema, divide o problema em **partes mais pequenas e mais simples**. Pensa nas etapas que precisas de seguir para resolver cada peça e como elas se encaixam para formar a solução maior.


2. **Divide:** após entender o problema, divide o problema em **partes mais pequenas e mais simples**. Pensa nas etapas que precisas seguir para resolver cada peça e como elas se encaixam para formar a solução maior.

3. **Planeia os teus algoritmos**: Se o problema envolve cálculos matemáticos ou algoritmos, reserva um tempo para planear. Escreve as etapas que precisas seguir e certifica-te de entender a lógica por trás de cada etapa, como um **verdadeiro matemático**.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
3. **Planeia os teus algoritmos**: Se o problema envolve cálculos matemáticos ou algoritmos, reserva um tempo para planear. Escreve as etapas que precisas seguir e certifica-te de entender a lógica por trás de cada etapa, como um **verdadeiro matemático**.
3. **Planeia os teus algoritmos**: Se o problema envolve cálculos matemáticos ou algoritmos, reserva um tempo para planear. Escreve as etapas que precisas de seguir e certifica-te que entendes a lógica por trás de cada etapa, como um **verdadeiro matemático**.


4. **Fazer desenhos:** se ajudar, desenha diagramas ou fluxogramas para **ajudar a visualizar** a solução. Isso pode ser especialmente útil para problemas ou algoritmos complexos.

5. **Testar**: Ainda antes de passares para o computador **confirma** que tens a solução correta! Usa a tua cabeça ou até mesmo escreve um _debugger_ por exemplo um pseudocódigo para garantir que esteja tudo a funcionar conforme o esperado.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
5. **Testar**: Ainda antes de passares para o computador **confirma** que tens a solução correta! Usa a tua cabeça ou até mesmo escreve um _debugger_ por exemplo um pseudocódigo para garantir que esteja tudo a funcionar conforme o esperado.
5. **Testar**: Ainda antes de passares para o computador, **confirma** que tens a solução correta! Usa a tua cabeça ou até mesmo escreve um _debugger_, por exemplo, um pseudocódigo, para garantir que esteja tudo a funcionar conforme o esperado.


5. **Testar**: Ainda antes de passares para o computador **confirma** que tens a solução correta! Usa a tua cabeça ou até mesmo escreve um _debugger_ por exemplo um pseudocódigo para garantir que esteja tudo a funcionar conforme o esperado.

6. **Escreve o código:** agora que tens um plano, é hora de escrever o código. Se seguires os passos anteriores nada te garante que não terás problemas, mas não te preocupes, é normal. Apenas **recomeça** e tenta novamente.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
6. **Escreve o código:** agora que tens um plano, é hora de escrever o código. Se seguires os passos anteriores nada te garante que não terás problemas, mas não te preocupes, é normal. Apenas **recomeça** e tenta novamente.
6. **Escreve o código:** agora que tens um plano, é hora de escrever o código. Se seguires os passos anteriores, nada te garante que não terás problemas, mas não te preocupes, é normal. Apenas **recomeça** e tenta novamente.

@ruilopesm ruilopesm changed the title [Blog] Add Think before you code post feat: add think before you code post Aug 20, 2023
@ruilopesm ruilopesm added the blog Blog related contributions label Aug 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blog Blog related contributions
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants