python: naming a module that has a two-word name

前端 未结 4 950
执笔经年
执笔经年 2021-01-30 06:36

I\'m trying to put together a really simple module with one .py source file in it, and have already run into a roadblock. I was going to call it scons-config but

相关标签:
4条回答
  • 2021-01-30 06:52

    Aside from PEP-8, you can also check out how the native Python modules deal with this issue.

    If you were to compare the native modules of Python 2 to that of Python 3, you would see that the new tendency with the official devs is to avoid uppercase and underscores. For example, ConfigParser in Python 2 becomes configparser in Python 3.

    Looking at this, the best course of action would be to avoid uppercase and underscores, and just join the words together, i.e. sconsconfig.

    0 讨论(0)
  • 2021-01-30 06:54

    First, the module name is the same as the name of the single .py file. In Python-speak, a collection of several .py files is a package.

    PEP-8 discourages breaking up package names with underscores. A quick peak at my site-packages directory shows that multiword names are commonly just run together (e.g., setuptools, sqlalchemy)

    Module names (that is, file names) may be broken up by underscores (and I usually do this, because I hate namesthatruntogethersoyoucanhardlyreadthem).

    Stick with lower-case only (per PEP-8). This avoids problems when going from case-sensitive to case-insensitive filesystems and vice versa.

    0 讨论(0)
  • 2021-01-30 06:55

    - is a no go. The symbol is used for minus operator. The same is true in most programming languages. Use _ or otherwise nothing at all.

    0 讨论(0)
  • 2021-01-30 06:57

    If you have to, always use underscores _.

    Using a dot . would not even work, otherwise

    from scons.config import whatever
    

    would break.

    But PEP 8 clearly describes it:

    Package and Module Names

    Modules should have short, all-lowercase names. Underscores can be used in the module name if it improves readability. Python packages should also have short, all-lowercase names, although the use of underscores is discouraged.

    UPDATE:

    To directly target your question: I think sconsconfig is fine. It is not too long and quite readable.

    But honestly, I don't think anyone will blame you if you use underscores and your code will run with either decision. There is always a certain level where you should not care that much anymore.

    0 讨论(0)
提交回复
热议问题