Sou estagiário aprendendo muito sobre a indústria fora da academia.
Uma coisa que pensei hoje foi cortar a entrada.
De um lado da moeda, não quero que o usuário / implementador receba constantemente resultados inesperados porque a entrada deles possui muitos espaços; portanto, preciso aparar constantemente a entrada do usuário após cada chamada de função.
Mas, ao mesmo tempo, se eu estiver criando uma biblioteca de API para uso interno aqui no espaço em branco à esquerda / à esquerda do escritório, pode ser crucial para os resultados.
Depois, há casos em que não tenho certeza se os espaços em branco serão importantes ou não.
O grande problema para mim é que me encontro constantemente chamando .trim () em todo lugar no meu código.
Alguém tem alguma dica / regra de ouro ou apenas pensamentos sobre como lidar com determinadas situações?
fonte
Respostas:
Nunca apare espaços em branco arbitrariamente em uma API.
O único motivo para aparar arbitrariamente os espaços em branco é como um recurso da interface do usuário. As pessoas frequentemente deixam espaços no final dos campos inseridos, mas não conseguem ver que o fizeram. É bastante confuso retornar uma mensagem, portanto - exceto nos raros casos em que um usuário pode digitar "A" para significar algo diferente de "A" - você geralmente pode abandonar espaços inúteis.
Mas os computadores não adicionam espaços por engano, eles adicionam espaços porque um programador disse a eles e, se eles interromperem a implementação da API, você deve devolver um erro ao desenvolvedor. Se não, então você deve apenas usá-los.
É claro que existe a possibilidade de que esses dados sejam provenientes de humanos por meio de um aplicativo, mas esse é o problema do desenvolvedor do aplicativo, não o seu. Novamente, se eles lhe causarem um problema, rejeite-os; caso contrário, aceite-os. Não os apare e assuma que seu consumidor sabe que isso vai acontecer.
fonte
Um princípio útil aqui é YAGNI : "Você não vai precisar". O que isto significa é que, quando você tem uma idéia para um recurso que você não tem certeza que você realmente precisa, não implementá-lo até que você está certo de que você precisar. Então, quando a necessidade disso se tornar aparente, os locais em sua base de código onde é realmente necessário também devem ser aparentes.
fonte
Depende para o que a entrada será usada. Se você estiver cortando o espaço em branco dos dados inseridos como um termo de pesquisa, entendo por que você está fazendo isso. É um bom hábito aprender a não confiar nos dados que entram no sistema. Estou pensando principalmente na injeção de SQL, mas também há outros aspectos.
Talvez você não precise aparar sempre a entrada, mas definitivamente deve sempre verificar a entrada.
fonte