根据官方文档,os.path是一个模块.那么,导入它的首选方式是什么?
# Should I always import it explicitly?
import os.path
Run Code Online (Sandbox Code Playgroud)
要么...
# Is importing os enough?
import os
Run Code Online (Sandbox Code Playgroud)
请不要回答" os为我导入作品".我知道,它现在也适用于我(从Python 2.6开始).我想知道的是关于这个问题的任何官方建议.因此,如果您回答此问题,请发布您的推荐信.
node.js有(或几个)编码样式指南吗?如果没有,顶级开源节点项目使用的新兴风格是什么?
我正在寻找PEP 8的指南(或几个指南),这是Python的规范编码风格指南.我已经看到了各种不值得链接的JavaScript指南(主要是旧版和针对客户端JavaScript).我找到了一个有趣的node.js 样式指南.
编码样式指南或编码约定应包括(但不限于):
这个话题显然是非常主观的,但我认为这是社区在成熟过程中建立一个共同的,被广泛接受的编码风格的重要一步.而且,这不仅仅是味道.特别是,像"使用===而不是=="这样的规则会对代码质量产生直接影响.
我遇到了一些包含以下内容的代码:
struct ABC {
unsigned long array[MAX];
} abc;
Run Code Online (Sandbox Code Playgroud)
何时使用这样的声明是有意义的?
假设您有一个名为Customer的类,其中包含以下字段:
我们还要说,根据您的业务逻辑,所有Customer对象都必须定义这四个属性.
现在,我们可以通过强制构造函数指定每个属性来轻松地完成此操作.但是,当您被迫向Customer对象添加更多必需字段时,很容易看出它会如何失控.
我已经看到了在构造函数中加入20多个参数的类,使用它们只是一种痛苦.但是,或者,如果您不需要这些字段,则可能会遇到未定义信息的风险,或者更糟糕的是,如果您依赖调用代码来指定这些属性,则会引发对象引用错误.
有没有替代方案,或者你只需要决定X的构造函数参数是否太多,你不能忍受?
严格来说,style标签是否需要在headHTML文档中?4.01标准意味着,但没有明确说明:
STYLE元素允许作者将样式表规则放在文档的头部.HTML允许文档的HEAD部分中的任意数量的STYLE元素.
我说"严格来说"因为我有一个应用程序将样式元素放在正文中,而我测试过的所有浏览器似乎都使用了样式元素.我只是想知道这是否合法.
我有一行以下代码(不要责怪命名约定,它们不是我的):
subkeyword = Session.query(
Subkeyword.subkeyword_id, Subkeyword.subkeyword_word
).filter_by(
subkeyword_company_id=self.e_company_id
).filter_by(
subkeyword_word=subkeyword_word
).filter_by(
subkeyword_active=True
).one()
Run Code Online (Sandbox Code Playgroud)
我不喜欢它的样子(不要太可读),但我没有任何更好的主意来限制这种情况下,行79个字符.是否有更好的方法来打破它(最好没有反斜杠)?
在Xcode 4中创建新项目时,样板代码在将实现文件中的ivars合成为时,会添加下划线字符:
@synthesize window = _window;
Run Code Online (Sandbox Code Playgroud)
要么:
@synthesize managedObjectContext = __managedObjectContext;
Run Code Online (Sandbox Code Playgroud)
有人能告诉我这里完成了什么吗?我不是一个完整的润滑剂,但这是客观的一个方面 - 我不明白.
另一个困惑点; 在app委托实现中,在如上所述合成窗口iVar之后,在应用程序didFinishLaunchingWithOptions:方法中,使用self引用窗口和viewController ivars:
self.window.rootViewController = self.viewController
[self.window makeKeyAndVisible];
Run Code Online (Sandbox Code Playgroud)
但是在dealloc方法中它是_window或_viewController
谢谢
35线,55线,100线,300线?什么时候应该开始分手?我问,因为我有60行(包括评论)的功能,并且正在考虑将它分开.
long_function(){ ... }
Run Code Online (Sandbox Code Playgroud)
成:
small_function_1(){...}
small_function_2(){...}
small_function_3(){...}
Run Code Online (Sandbox Code Playgroud)
这些函数不会在long_function之外使用,因为较小的函数意味着更多的函数调用等.
你什么时候将一个函数拆分成更小的函数?为什么?
谢谢大家的答案,编辑列表并投票给出正确的答案,我会选择那个;)
我现在正在重构这些想法:)
我一直在阅读真实世界的哈斯克尔,我即将结束,但风格问题一直在与我(.)和($)操作员徘徊.
当你编写一个由其他函数组成的函数时,你可以这样写:
f = g . h
Run Code Online (Sandbox Code Playgroud)
但是当你在这些函数的末尾应用某些东西时,我会这样写:
k = a $ b $ c $ value
Run Code Online (Sandbox Code Playgroud)
但是这本书会像这样写:
k = a . b . c $ value
Run Code Online (Sandbox Code Playgroud)
现在,对我来说,他们看起来功能相同,他们在我眼中完全一样.然而,我看的越多,我就越看到人们以书的方式编写他们的函数:(.)首先构成,然后仅在最后使用($)附加值来评估该批次(没有人用很多美元组成) .
是否有理由使用比使用所有($)符号更好的书籍方式?或者这里有一些我没有得到的最佳实践?或者它是多余的,我根本不应该担心它?
coding-style ×10
python ×2
refactoring ×2
arrays ×1
c ×1
constructor ×1
factory ×1
function ×1
haskell ×1
html ×1
html-head ×1
ios4 ×1
javascript ×1
methods ×1
node.js ×1
objective-c ×1
parameters ×1
pep8 ×1
struct ×1