My Authors
Read all threads
eae rapaziada, beleza? 🤙
quer aprender o que o #unclebob dizia sobre funções na série #cleancode? 🔥

Segue o fio! 🧶👇

#software #SoftwareEngineering #100DaysOfCode #functions #javascript
1. Uma função deve ser pequena.

2. Uma função deve ser menor ainda.

3. Várias funções pequenas e bem nomeadas economizarão seu tempo e de todo seu time porque elas funcionarão como pequenas placas ao longo do seu projeto, ajudando todos a navegar no código.
4. Classes estão escondidas dentro de grandes funções e se você quer quebrar seu software em classes apropriadamente deixe suas funções pequenas.
5. Funções devem fazer apenas uma coisa e a única maneira de garantir isso é extrair funções de funções até não conseguir extrair mais nada (Extract Till You Drop).
6. Se você consegue extrair uma função de uma função você deve extrai-la porque essa função tem claramente mais de uma função.
7. Argumentos tornam o código difícil de ler e entender. Uma função deve ter o menor número de argumentos possíveis. Três deve ser o máximo e você deve tratar esse número com seriedade.

8. Três argumentos tornam a memorização da sequência difícil.
9. Não passe booleanos para funções. Quando você faz isso sua função faz duas coisas: uma para quando o argumento for true e outra para quando o argumento for false.
O certo é criar uma função para quando o argumento for true e outra para quando o argumento for false.
10. Não coloque null como argumento de uma função e não use null como pseudo boolean. Crie duas funções que tratem os dois casos (assim como deve ser feito com boolean).
11. The Stepdown Rule: Organize seu código de forma em que seja legível de cima para baixo descendo um nível de abstração por função. Não deixe as suas funções em ordem randômica.
12. Prefira usar o polimorfismo do que usar switch-case.

13. Funções que retornam valores não devem modificar estados.

14. Funções que modificam estados não devem retornar valores mas podem lançar exceções.
15. Tell, don’t ask: Não pergunte coisas para objetos, apenas diga o que eles devem fazer. O objeto tem todos os seus estados e deve saber lidar com o que você mandar ele fazer.
Missing some Tweet in this thread? You can try to force a refresh.

Enjoying this thread?

Keep Current with Lucas Dutra

Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!