On Thu, 30 May 2002, Patrick K. O'Brien wrote: >Without trying to open a can of worms here, is there any sort of consensus >on the use of packages with multiple smaller modules vs. one module >containing everything? I'm asking about the Python standard library, >specifically. According to the one-class-per-module rule of thumb, there are >some Python modules that could be refactored into packages. Weighing against >that is the convenience of importing a single module. > >I'm just wondering if there are any guidelines that should frame one's >thinking beyond the fairly obvious ones? For example, is the standard >library an exceptional case because it must appeal to new users as well as >experts? Does a good part of this issue come down to personal preference? Or >are there advantages and disadvantages that should be documented? (Maybe >they already have.) > >Is the current library configuration considered healthy? There are a mix of >packages and single modules. Are these implementations pretty optimal, or >would they be organized differently if one had the chance to do it all over >again? Interesting question! Python Style Guide doesn't tell much about this. I think that if there is (more or less) natural hierarchy, then monolith module is better to partition into smaller ones. For example, os module. Even docs are mentioning 4 aspects of it. But only os.path is (kinda) separate. os.fd could have their own, as well as os.proc os.fs ... This way they are remembered better... xml-packages is another good example. Otherwise there is no point in adding hierarchy in standard libs. I think, modularizing is very similar to constructing good object class hierarchy. With the main fear - not to overdesign it. Sincerely yours, Roman Suzi -- \_ Russia \_ Karelia \_ Petrozavodsk \_ rnd@onego.ru \_ \_ Thursday, May 30, 2002 \_ Powered by Linux RedHat 7.2 \_ \_ "How do I love thee? My accumulator overflows." \_
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4