Path: csiph.com!feeder.erje.net!1.eu.feeder.erje.net!newsfeed0.kamp.net!newsfeed.kamp.net!fu-berlin.de!uni-berlin.de!not-for-mail From: Jacob Scott Newsgroups: comp.lang.python Subject: Resources/pointers for writing maintable, testable Python Date: Wed, 18 May 2016 14:01:32 -0700 Lines: 23 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Trace: news.uni-berlin.de NGMm9FBI5BeHaX94jCGgBA2PMDmvu87rbUuzWg1mIYBg== Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.031 X-Spam-Evidence: '*H*': 0.94; '*S*': 0.00; 'subject:Python': 0.05; 'pointers': 0.09; 'python': 0.10; '2.7': 0.13; 'java,': 0.15; 'codebase,': 0.16; 'happily': 0.16; 'jacob': 0.16; 'received:io': 0.16; 'received:psf.io': 0.16; 'subject:writing': 0.16; 'url:attachments': 0.16; 'found,': 0.18; 'thoughts': 0.18; "haven't": 0.24; 'thanks,': 0.24; "i've": 0.25; 'helpful': 0.27; 'checking': 0.27; 'message-id:@mail.gmail.com': 0.27; 'for,': 0.29; "i'm": 0.30; 'subject:/': 0.30; 'code': 0.30; "i'd": 0.31; 'structure': 0.34; 'received:google.com': 0.35; 'primarily': 0.35; 'quite': 0.35; 'but': 0.36; 'url:org': 0.36; 'received:209.85': 0.36; 'to:addr:python-list': 0.36; 'received:209.85.213': 0.37; 'received:209': 0.38; 'anything': 0.38; 'sure': 0.39; 'url:en': 0.39; 'resources': 0.39; 'to:addr:python.org': 0.40; 'some': 0.40; 'today,': 0.62; 'url:%20': 0.63; 'effective': 0.63; 'url:pdf': 0.64; 'url:%1': 0.67; 'incredibly': 0.76; 'topic,': 0.79; 'speaks': 0.91; 'url:latest': 0.91 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to; bh=UjXJNN3z92UfjXpNlH2PBB+umtGr9HlJPXsvaO0j/v0=; b=DbDGO08VzLi6nCVBnRbtLS3pZ6DyMzBDMQ3d4m9OV6m+N1TfJI3L4br9N6oX4fN23P /qr13F/tRM6TWbUWrBQJYikLe8Zeq8qXPtEEnKdBVx3f4eFsxg0kb4uQbVeDWv4mRigB kopc4cRb+ZOyUotqyUKLIuVphe4Ghkg2cqQ40mK0kSmqdhwBI/6FzJzIzoLa1NEkCmkB VyNm1lBT73s+VuAbO2Np0YzvSLD4omDfQQFaINq/uloUlpo37phO0NFoWgz47tMmb8Ma DdG7tVtyWCpGrNdTSB786ZJu7agZ7ycwNbXNPstmd75TTL3qmYf71dLxMKF8+nDaH4xJ MUYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:date:message-id:subject:from:to; bh=UjXJNN3z92UfjXpNlH2PBB+umtGr9HlJPXsvaO0j/v0=; b=D6z2vGzKZKO/R2SLvAmP2sQ3fa0JpSIrhS8cFbiQFdHJx7kfYiXFyiNaOkKILKgWt5 aGqzBJByyaAYe0JK+Gw+gze04f73wT+gDT9u+XYAU/OLuclbFZg4+DZ6clVw6N8nBEyO NkvSubIAXRZ4Vzx8ZVMNy1o5vauxngR+waQuPmbmIX/TJzGm3mqfEOuU4ntt7lcngbnd DNQkjfqnOu/5/YT5E7mMf7VmB1Cx6qq5RJ43oGvwleZM7BKzUqKIC5R0xMdNv8nywyOk 5lBa9x+l/meihRWbUpTdd7j+B/xp57FuC/j5a9JrVnfpG2YfoHI9pzliB0iD0E1+SYSQ 75UQ== X-Gm-Message-State: AOPr4FUn25mup+pijR6shmOSFuRWyJ9xE+mevfxWcSIc8jKc3q3mCyCvUaaABN0LrB9iaCAop+Js4vqQhMdTrw== X-Received: by 10.176.68.66 with SMTP id m60mr5389361uam.53.1463605292561; Wed, 18 May 2016 14:01:32 -0700 (PDT) X-Mailman-Approved-At: Wed, 18 May 2016 17:08:14 -0400 X-Content-Filtered-By: Mailman/MimeDel 2.1.22 X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Mailman-Original-Message-ID: Xref: csiph.com comp.lang.python:108784 Many years ago, when I was primarily writing Java, I found Misko Hevery's Guide: Writing Testable Code to be incredibly helpful in guiding the design and structure of my codebase, and as reference for checking if my code was smelly. Today, I'm happily writing primarily Python (unfortunately, 2.7 -- but I'm not sure it makes that much of a difference), but I haven't found anything that speaks to me in the same way. Some of the best resources I've found, but which don't quite cover all of what I'm looking for, include - PEP-8 and PEP-20 - The Hitchhiker's Guide to Python - Effective Python I'd appreciate any pointers to resources I might have missed, general thoughts on the topic, etc. Thanks, Jacob