-
Notifications
You must be signed in to change notification settings - Fork 5
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
base: main
Are you sure you want to change the base?
feat: add think before you code post #171
Conversation
👷 Deploy request for coderdojobraga-blog pending review.Visit the deploys page to approve it
|
✅ Deploy Preview for coderdojobraga-web canceled.
|
✅ Deploy Preview for coderdojobraga-app canceled.
|
Overall the content looks good to me 👍 |
❌ Deploy Preview for coderdojobraga-maintenance failed.
|
|
||
## 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.. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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**. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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. |
There was a problem hiding this comment.
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 👀
There was a problem hiding this 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**. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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**. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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. |
Co-authored-by: Mário Rodrigues <[email protected]>
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.