2016-10-12 12 views
-1

エッジケースに基づいて壊れたコードを検出できる構文チェッカーはありますか?例:None * 2は意味がありませんので、エッジケースをテストするPython構文チェッカー

def run(): 
    for j in [0, 1]: 
     if j == 0: 
      yield j 
     else: 
      yield None 


for i in run(): 
    print i * 2 

このコードは壊れています。この種のエラーを検出するツールはありますか?

ありがとうございました

+0

'NameError:jは定義されていません。 –

+1

'Line 10:TypeError:*: 'NoneType'と 'int'に対してサポートされていないオペランドタイプ – Chris

+2

これは構文エラーではありません。これは実行時意味エラーです。 – Prune

答えて

3

あなたは構文チェッカーではなく、タイプチェッカーを探しています。 http://mypy-lang.org/