As orientações que seguem são intencionalmente não específicas. Interprete cada situação da forma que acreditar ser mais adequada, especificando quaisquer suposições feitas.
Você recebeu dois arquivos, um com um código em C (reverse_string.c), outro em Python (shapes.py). Ambos precisam ser validados antes de serem incluídos na base de código principal de um projeto.
Avalie os seguintes pontos para os dois programas:
- Em situações usuais, o código irá funcionar como esperado?
- Existe alguma situação em que não irá funcionar?
- Caso exista alguma situação em que o código não irá funcionar, quais alterações seriam necessárias para corrigir os problemas?
- Pensando na legibilidade, facilidade de manutenção por outros desenvolvedores, e extensibilidade, você faria alguma refatoração no código?
Você precisa implementar uma função em Python que recebe um único argumento n e retorna o n-ésimo elemento da sequência de Fibonacci. Essa função deve ser extremamente otimizada, pois trata-se de uma função crítica do projeto, a qual será chamada com alta frequência e com valores grandes de n. (n <= 450).
def fibonacci(n: int) -> int:
....