Wesley Chun のコア python アプリケーション プログラミング ブックの次のコードがあります。
#!/usr/bin/env python
"""
tcp server
"""
from socket import AF_INET, SOCK_STREAM, socket
from time import ctime
HOST = ''
PORT = 21567
BUFSIZE = 1024
ADDR = (HOST, PORT)
tcp_server_socket = socket(AF_INET, SOCK_STREAM)
tcp_server_socket.bind(ADDR)
#maximum number of incoming connection before connection is refused
tcp_server_socket.listen(5)
while True:
print "waiting for connection"
tcpCliSock, addr = tcp_server_socket.accept()
print "... connected from:" , addr
while True:
DATA = tcpCliSock.recv(BUFSIZE)
if not DATA:
break
tcpCliSock.send('[%s] %s' % (ctime(), DATA))
tcpCliSock.close()
tcp_server_socket.close()
元のコードにいくつかの変更を加えましたが、より準拠するように変更する最善の方法についてはまだ混乱しています
ここに私が受け取っているすべてのメッセージがあります
C: 14,0: Invalid name "tcp_server_socket" (should match (([A-Z_][A-Z0-9_]*)|(__.*__))$)
C: 21,4: Invalid name "tcpCliSock" (should match (([A-Z_][A-Z0-9_]*)|(__.*__))$)
C: 21,16: Invalid name "addr" (should match (([A-Z_][A-Z0-9_]*)|(__.*__))$)
E: 25,15: Instance of '_socketobject' has no 'recv' member
E: 28,8: Instance of '_socketobject' has no 'send' member
最初の 3 つは、すべて大文字の変数名を使用することを望んでいるだけだと思います。これらのタイプのスクリプトの標準的な慣行は、この規則を使用してもコードが読みやすくなるとは思わないということです。逆に、読みにくくなります。 pylint のそのようなルールの背後にある動機と、コードをより準拠させる方法です。そのような身長のライターが、読みやすさ、初心者への優しさ、またはその他の理由で、理由もなくこのようなコードを書くとは思えません。