Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6596151
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 25, 20262026-05-25T18:02:14+00:00 2026-05-25T18:02:14+00:00

I’m a very experienced developer – done a lot of heavy duty work with

  • 0

I’m a very experienced developer – done a lot of heavy duty work with Delphi, C# and C++ for years. I have always adhered very closely to the guidelines for structured programming, OOP, loosely coupled modular designs etc – and since all the languages I’ve used have built-in ways of enforcing these concepts – access control, static types, interface and abstract class support etc – I rely on these to structure my code.

Now, I have been doodling with Python for a few months. I am impressed by its many wonderful features – but I sorely miss the built-in constraints that make it easy to keep code modularized and organized. And, unfortunately, I see an awful lot of ‘spaghetti code’ out there written in Python, even from very respectable sources. I won’t single anyone out but I have a few books written by major league pythonistas with examples replete with designs (better put – ‘anti-designs’) that make me shudder. It seems to me that because Python is so easy to use, it’s also very easy to abuse.

I do try to discipline myself when I code in Python, but I find it takes a lot of extra work to implement and often I have to set up and adhere to constraints simply based on my own memory of the design with no help from the language at all. And since there is no ‘compile time’ checking, it’s doubly difficult – often you don’t discover a design flaw until you actually RUN that segment of code.

So, I’m looking for very specific information: some examples or better still a book of WELL STRUCTURED Python designs and design techniques – how to best implement encapsulation, indirection, very loosely coupled designs, etc.

Bad design IMO from a prominent python book author – (with obfuscation)

def populateList(self, selecteddisk=None):
selected = None ***#Bundling - coupling:*** 
self.listWidget.clear()
for disk in self.disks.inOrder():
item = QListWidgetItem(QString("%1 of %2/%3 (%L4)") \
.arg(disk.name).arg(disk.owner).arg(disk.country) \
.arg(disk.teu))
self.listWidget.addItem(item)
***#Bundling - coupling:*** 
if selecteddisk is not None and selecteddisk == id(disk):
    selected = item
    if selected is not None:
    selected.setSelected(True)
    self.listWidget.setCurrentItem(selected)
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-25T18:02:15+00:00Added an answer on May 25, 2026 at 6:02 pm

    I find it takes a lot of extra work to implement and compile code that adheres to constraints simply based on my own memory of the design with no help from the language when writing the code itself before compiling. Some IDE’s offer help, but the language itself offers me no help at all.

    And since ‘compile time’ checking never seems to help me find ordinary logic bugs it’s doubly difficult – often you don’t discover a design flaw until you actually RUN that segment of code.

    Python designs and design techniques …
    how to best implement encapsulation,

    By encapsulating. In languages like Java and C++, “encapsulation” has grown to mean “uses private stuff all over the place.” In Python that’s simply not supported.

    We’re All Adults Here.

    You still do encapsulation just like you did in every other language. Without the word private, however.

    Python offers properties, decorators and overrides to __getattribute__ to implement various kinds of encapsulation techniques.

    indirection,

    By referencing other objects. I’m not clear on what specific problems you have here, but perhaps you’ve passed some wrong-type argument to a function. The way to avoid this is to read the docstrings you wrote for yourself.

    very loosely coupled designs, etc.

    By doing dependency injection. Again. Python works just like every other language with respect to loose coupling.

    You should investigate — and use — docstrings heavily.

    You might want to use https://www.sphinx-doc.org to generate nice documentation from your docstrings.

    You can also use Python’s built-in help() function to read the docstrings you wrote when you wrote your code.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a string like this: La Torre Eiffel paragonata all’Everest What PHP function
I have a .ini file as follows: [playlist] numberofentries=2 File1=http://87.230.82.17:80 Title1=(#1 - 365/1400) Example
I have a jquery bug and I've been looking for hours now, I can't
link Im having trouble converting the html entites into html characters, (&# 8217;) i
I have just tried to save a simple *.rtf file with some websites and
this is what i have right now Drawing an RSS feed into the php,
I have this code to decode numeric html entities to the UTF8 equivalent character.
I have a French site that I want to parse, but am running into
I'm parsing an RSS feed that has an ’ in it. SimpleXML turns this
I have this code: - (void)parser:(NSXMLParser *)parser foundCDATA:(NSData *)CDATABlock { NSString *someString = [[NSString

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.