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

Renomear nomes das funções "lerDigital" e "lerAnalogico" #52

Open
vinebarbosa opened this issue Oct 5, 2019 · 4 comments
Open

Renomear nomes das funções "lerDigital" e "lerAnalogico" #52

vinebarbosa opened this issue Oct 5, 2019 · 4 comments

Comments

@vinebarbosa
Copy link
Contributor

vinebarbosa commented Oct 5, 2019

Depois de usar a biblioteca algumas vezes e usar a função "lerAnalogico" eu me perguntei: "Ler o quê analógico?". Daí proponho as mudanças do nome dessa função para "lerPinoAnalogico", pois acredito que, dessa maneira, a função vai ser melhor entendida por quem for usar. O mesmo vale para a função "lerDigital", que ficaria "lerPinoDigital". Ou então "leituraAnalogica" e "leituraDigital".

@Krymancer
Copy link

Krymancer commented Oct 7, 2019

acredito que não, pois fica mais idiomático lerAnalogico(pino), uma vez que os parâmetros da função fazem grande parte de contextualiza-la, acaba ficando meio redundante lerPinoAnalogico/Digital(pino).

@vinebarbosa
Copy link
Contributor Author

vinebarbosa commented Oct 8, 2019

Eu li em um livro (Clean Code) um capítulo que falava justamente sobre o nome das variáveis e funções. Pelo que eu entendi, o nome de uma função deve ser escrito de modo que, quando você o leia, já saiba o que a função faz. Uma pessoa que ler "lerPinoAnalogico(pino)", mesmo que nunca tenha usado essa função antes, já vai saber o que ela faz. Por este motivo acredito que "lerPinoDigital(pino)" é mais simples de entender do que só "lerDigital(pino)".

@Krymancer
Copy link

continua não fazendo sentido uma vez que a mesma pessoa lendo "lerDigital(pino)" consegue entender perfeitamente o que a função quer dizer, fora que "lerPinoDigital", pode acabar indicando pinos como digitais ou analógicos o que não faz parte do contexto da função, basicamente eu entendo tua forma de facilitar uma especie de "overengineering" pra deixar as coisas simples mas no final acabariam gerando inconsistências.

Você pode verificar, uma vez que grandes bibliotecas de abstração de microcontroladores acabam utilizando sempre 'digitalRead' para nomear funções com essa funcionalidade. Arduino faz isso, BoneScript, WiringPy, Startware, bibliotecas da aidafruit e provavelmente muitas outras que eu não conheço

@OtacilioN
Copy link
Owner

Opa, massa ver os argumentos e justificativas aqui, e acho os dois pontos de visão aqui válido. Felizmente em Brasilino podemos adotar uma política extensiva, em vez de termos uma ou outra forma de fazer, podemos ter as duas, uma vez que no fundo tudo isso é trocado no processo de pré compilação e não aumenta o tamanho do programa.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants