Extra: tipagem, linters e settings.json do VS Code

This commit is contained in:
Luiz Otávio
2022-12-01 10:10:25 -03:00
parent ed6137331b
commit 62d3de84a6
3 changed files with 17 additions and 12 deletions

10
.vscode/settings.json vendored
View File

@@ -22,7 +22,7 @@
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.fixAll": true,
"source.fixAll.unusedImports": false,
"source.fixAll.unusedImports": true,
"source.organizeImports": true
}
},
@@ -35,12 +35,12 @@
"python.linting.flake8Args": [
// "--ignore=E111",
],
"python.linting.flake8Enabled": false,
"python.linting.mypyEnabled": false,
"python.linting.flake8Enabled": true,
"python.linting.mypyEnabled": true,
"python.testing.unittestEnabled": false,
"python.testing.pytestEnabled": false,
"python.testing.pytestEnabled": true,
"python.analysis.diagnosticSeverityOverrides": {},
// "python.defaultInterpreterPath": "./venv/bin/python",
"python.analysis.typeCheckingMode": "off",
"python.analysis.typeCheckingMode": "basic",
"cSpell.enabled": false
}

View File

@@ -2,19 +2,20 @@ import abc
class Conta(abc.ABC):
def __init__(self, agencia, conta, saldo=0):
def __init__(self, agencia: int, conta: int, saldo: float = 0) -> None:
self.agencia = agencia
self.conta = conta
self.saldo = saldo
@abc.abstractmethod
def sacar(self, valor): ...
def sacar(self, valor: float) -> float: ...
def depositar(self, valor):
def depositar(self, valor: float) -> float:
self.saldo += valor
self.detalhes(f'(DEPÓSITO {valor})')
return self.saldo
def detalhes(self, msg=''):
def detalhes(self, msg: str = '') -> None:
print(f'O seu saldo é {self.saldo:.2f} {msg}')
print('--')
@@ -30,14 +31,18 @@ class ContaPoupanca(Conta):
print('Não foi possível sacar o valor desejado')
self.detalhes(f'(SAQUE NEGADO {valor})')
return self.saldo
class ContaCorrente(Conta):
def __init__(self, agencia, conta, saldo=0, limite=0):
def __init__(
self, agencia: int, conta: int,
saldo: float = 0, limite: float = 0
):
super().__init__(agencia, conta, saldo)
self.limite = limite
def sacar(self, valor):
def sacar(self, valor: float) -> float:
valor_pos_saque = self.saldo - valor
limite_maximo = -self.limite
@@ -49,6 +54,7 @@ class ContaCorrente(Conta):
print('Não foi possível sacar o valor desejado')
print(f'Seu limite é {-self.limite:.2f}')
self.detalhes(f'(SAQUE NEGADO {valor})')
return self.saldo
if __name__ == '__main__':

View File

@@ -35,4 +35,3 @@ Banco será responsável autenticar o cliente e as contas da seguinte maneira:
Só será possível sacar se passar na autenticação do banco (descrita acima)
Banco autentica por um método.
"""
import contas