推荐的字序词顺序?

时间:2017-07-05 23:31:44

标签: python naming-conventions

从我的角度来看,可以(至少)有两个方法如何为变量,函数,类等创建名称。

  1. 结构:

    history_clear()
    history_save_to_file()
    cache_remove_entry()
    cache_find()
    browser_window_url_trim()
    
  2. 可读人类:

    clear_history()
    save_history_to_file()
    remove_entry_from_cache()
    find_in_cache()
    check_for_updates()
    
  3. 首选词序是什么?有没有? 我对编程很陌生,但我想从一开始就获得良好的编码习惯。我已经简要地阅读了PEP 8风格指南,但我没有在那里找到答案。

3 个答案:

答案 0 :(得分:2)

虽然这个问题很难客观地回答,但我认为你应该去找我最喜欢的python标准库模块,由Tim Peters提供。

>>> import this
  

Python的禅宗,蒂姆·彼得斯

     

美丽胜过丑陋。显式优于隐式。   简单比复杂更好。复杂比复杂更好。   Flat优于嵌套。稀疏优于密集。可读性   计数。特殊情况不足以打破规则。   虽然实用性胜过纯洁。错误不应该默默地传递。   除非明确沉默。面对暧昧,拒绝   诱惑猜测。应该有一个 - 最好只有一个    - 显而易见的方式。虽然这种方式起初可能并不明显,除非你是荷兰人。现在比永远好。虽然从来都不是   现在比正确更好。如果实施很难解释,   这是一个坏主意。如果实现很容易解释,它可能是一个   好主意。命名空间是一个很棒的主意 - 让我们做更多的事情   那些!

我相信Readability counts.在这里最相关。除了极少数例外,代码将由其他人而不是机器编写和维护。它应该像你建议的那样“对人类可读”。

答案 1 :(得分:0)

我认为那里没有任何首选订单,你应该使用一个让工作更轻松,更顺畅的订单。例如,如果你有很多变量/类/函数和关键字" history"和#34;缓存",使用结构化版本的可重复单词(如" history_add"和#34; cache_add")可能会更好。但在任何其他情况下,可读版本将是一个很好的解决方案。

答案 2 :(得分:0)

对于这一个问题,我学到的方法很适合我,因为抽象数据类型演变为OOP,从250K行的项目到学生练习的设计。

  • 对象是名词或名词短语
  • 功能是动词或动词短语

当我编程时,每行代码都是一个命令,一个动词。我想把它写成一个动词。因此,我更喜欢您的选项2:clear_historyhistory_clear更容易理解。

除此之外,如果您很好地命名变量(对象),那么您的组织需求将会跟随,因为该对象将暗示您使用变量的方式。例如,你会写一些像

这样的东西
symbiont_browser.trim_window(x_size, y_size)