他の人が書いたプログラムの読み方・理解の仕方について

プログラミングを勉強しておりますが、
テキスト等で基礎文法を覚えて、テキストのサンプルプログラムを動かしたりしております。
そして、自分なりに、プログラムを拡張したり作りたいアプリがある場合に、色々なサイト
で、似たような機能を実現しようとしているソースを探し、ソースを理解しようとしておりますが、
Web上に公開されている方のソースや、GitHub等のサンプルソースが理解できない状況です。

開発に携わられている方や、プログラミングが趣味・得意・好きという方は、
他の方が書いたプログラムを、最初にどの様に読んで理解しているのでしょうか?

私の場合、例えば、以下のようなソースで
print("Usage: {} modName symName HOSTNAME".format(sys.argv[0]))は、sys.argv[0]は、何かリストに格納しているなぁ。
でも、sys.argv[0]は、どういう情報なんだろう??・・・訳が分からない・・・終了。といった状態です。

特に、リストや辞書等のデーターを格納している箇所については、どういうデーター形式かを事前にしっていないとsys.argv[0]とか
sys.argv[2]とかってわからないと思います。

他の人が書いたプログラムの読み方や理解の仕方等のコツ等をアドバイスいただければと思います。

python

# snmpget.pyfrom pysnmp.hlapi import *import sys if len(sys.argv) != 4: print("Usage: {} modName symName HOSTNAME".format(sys.argv[0])) sys.exit(1) modName = sys.argv[1]if "." in sys.argv[2]: symName, value = sys.argv[2].split('.')else: symName = sys.argv[2] value = 0router_ip = sys.argv[3] errorIndication, errorStatus, errorIndex, varBinds = next( getCmd(SnmpEngine(), CommunityData('public'), UdpTransportTarget((router_ip, 161)), ContextData(), ObjectType(ObjectIdentity(modName, symName, value)))) if errorIndication: print(errorIndication)elif errorStatus: print('%s at %s' % (errorStatus.prettyPrint(), errorIndex and varBinds[int(errorIndex) - 1][0] or '?'))else: for varBind in varBinds: print(' = '.join([x.prettyPrint() for x in varBind]))

コメントを投稿

0 コメント