Em Python, você pode ter uma definição de função:
def info(object, spacing=10, collapse=1)
que pode ser chamado de qualquer uma das seguintes maneiras:
info(odbchelper)
info(odbchelper, 12)
info(odbchelper, collapse=0)
info(spacing=15, object=odbchelper)
graças à permissão do Python de argumentos de qualquer ordem, desde que sejam nomeados.
O problema que estamos tendo é que, à medida que algumas de nossas funções maiores aumentam, as pessoas podem estar adicionando parâmetros entre spacing
e collapse
, o que significa que os valores errados podem estar indo para parâmetros que não são nomeados. Além disso, às vezes nem sempre está claro o que precisa ser inserido. Queremos uma maneira de forçar as pessoas a nomear certos parâmetros - não apenas um padrão de codificação, mas, de preferência, um sinalizador ou plugin pydev?
de modo que nos 4 exemplos acima, apenas o último passaria na verificação, pois todos os parâmetros são nomeados.
Provavelmente, vamos ativá-lo apenas para determinadas funções, mas quaisquer sugestões sobre como implementar isso - ou se é possível, seriam apreciadas.