mha*_*vel 4 python package built-in
我目前正在创建一个名为"SET"的代码.代码的名称是首字母缩略词,已经为许多(非编程)原因定义,因此无法更改.
问题:最简单的,我相信最终用户使用我的代码的痛苦方式就是命名包"set".但当然这是一个问题,因为这与内置的set函数冲突.
问题:有哪些可能的解决方案?有些可能(可能更多):
更改包名称(例如setb).
import setb
Run Code Online (Sandbox Code Playgroud)
我真的不愿意,因为那时它会与真实姓名不同
使包的名称大写(SET)
import SET
Run Code Online (Sandbox Code Playgroud)
这将是一个直接的解决方案,但我想知道:这是一个pythonic正确命名的包?此外,我发现这有点痛苦,因为代码中定义的所有模块都会有类似"import SET.xy .."(即大写,写了很多次).但如果这是一种pythonic方式,这不是什么大问题.
保持名称"设置"
import set
Run Code Online (Sandbox Code Playgroud)
那显然不是很好.但只有当用户使用"导入集"时才会出现问题,不是吗?这不应该发生在"正常使用条件"中,因为代码将提供一些脚本来使用它,而不是将它用作标准的python模块.但我们永远不知道,它可以像它一样导入,甚至可能有一些我没有看到的问题(使用内置的设置).
我正在考虑解决方案2.但我真的不确定.也许这不合适,或者你们有更好的解决方案.
PS:我在网络和stackoverflow上发现了一些类似的主题,但它通常处理包内的脚本或模块内的名称.这里的问题实际上与代码的名称有关(只有这样才有意义),因此与包名称的正确命名有关.
编辑
选择的解决方案:我选择使用"SET"作为包名.虽然这里提出了许多好的建议:pyset,semt,setool ......或更明确的"starexoplanettool"(解释缩写).谢谢大家.
编辑#2
我喜欢有趣的解决方案:拥有一个名为S的包,以及一个子包,E ...最终得到:
import S.E.T
Run Code Online (Sandbox Code Playgroud)
谢谢唐问题.
为什么不说明缩写词背后的含义,如果用户迫切需要更短的名字,他们可以做import someetymologyterm as SET或者他们喜欢什么.Python为他们提供了选择,所以它不是世界末日.
这是一个包的pythonic正确命名吗?
在这种情况下,没关系.
领先的大写是罕见的(ConfigParser,HTMLParser).Camel-case很少见(cStringIO).但这并不能使所有大写错误.
这只是意味着你应该在下次选择一个更好的首字母缩略词.
"set"是具有最多定义的英语单词.这是一个缩写可能的最差选择.
关键是不要符合或多或少可接受的行为的社区"标准".
关键是写一些有用的东西.
(即大写,写了很多次).
几乎没关系.实际上,人们运行软件比编写软件更频繁.
人们也经常阅读和调整,而不是写作.
如果你担心拼写错误,那就是复制和粘贴.
此外,即使像Komodo Edit这样便宜的IDE也可以找出如何使用长名称来完成已安装模块的代码.
| 归档时间: |
|
| 查看次数: |
230 次 |
| 最近记录: |