在R代码中,您喜欢命名变量和函数的约定?
据我所知,有几种不同的惯例,所有这些惯例都在喧嚣的和谐中共存:
1.期间分隔符的使用,例如
stock.prices <- c(12.01, 10.12)
col.names <- c('symbol','price')
Run Code Online (Sandbox Code Playgroud)
优点: 在R社区中具有历史优先权,在整个R核心中普遍存在,并且由Google的R风格指南推荐.
缺点: 充满了面向对象的内涵,让R新手感到困惑
2.使用下划线
stock_prices <- c(12.01, 10.12)
col_names <- c('symbol','price')
Run Code Online (Sandbox Code Playgroud)
优点: 许多编程语言中的常见惯例; 受到Hadley Wickham风格指南的青睐,并在ggplot2和plyr包中使用.
缺点: R程序员历史上没有使用过; 令人烦恼地映射到Emacs-Speaks-Statistics中的'< - '运算符(可以用'ess-toggle-underscore'改编).
3.混合资本化的使用(camelCase)
stockPrices <- c(12.01, 10.12)
colNames <- c('symbol','price')
Run Code Online (Sandbox Code Playgroud)
优点:似乎在多个语言社区得到广泛采用.
缺点:有最近的先例,但没有历史使用(在R基础或其文档中).
最后,好像它没有足够的混淆,我应该指出谷歌风格指南争论变量的点符号,但函数的混合大写.
R包中缺乏一致的样式在几个层面上存在问题.从开发人员的角度来看,它使维护和扩展其他代码变得困难(尤其是其风格与您自己的风格不一致).从R用户的角度来看,不一致的语法通过将概念表达的方式相乘来加深R的学习曲线(例如,日期转换函数asDate(),as.date()或as_date()?不,它就是.日期()).
简单的问题,从可读性的角度来看,您更喜欢哪种方法名称作为布尔方法:
public boolean isUserExist(...)
Run Code Online (Sandbox Code Playgroud)
要么:
public boolean doesUserExist(...)
Run Code Online (Sandbox Code Playgroud)
要么:
public boolean userExists(...)
Run Code Online (Sandbox Code Playgroud) 我在各种git flow相关网站上看到了多个矛盾的定义.是否有官方推荐或单一事实来源?
分支机构:release-1.2.3或release-v1.2.3
标签:1.2.3或v1.2.3
我不确定如何命名Dockerfiles.很多GitHub在Dockerfile没有文件扩展名的情况下使用.我给他们一个名字和名字吗?如果是这样的话?或者我只是打电话给他们Dockerfile?
我正在尝试确定是否存在constGolang 名称的命名约定.
我个人倾向于遵循C风格并以大写形式编写它们,但我在这个页面上找不到任何内容http://golang.org/doc/effective_go.html这似乎列出了该语言的一些命名约定.
是否有一个首选的命名约定来创建一个由多个单词组成的Django应用程序?例如,以下哪项是首选?
my_django_appmy-django-appmydjangoapp 推荐解决方案虽然所有这些都可能 是语法上允许的选项1和3,但是有偏好吗?看看Django通过将应用程序名称和模型名称与下划线组合来创建表名的方式,我倾向于选项#1.
思考?
我清楚地记得,有一次,微软推动的指导原则是将"Base"后缀添加到抽象类中,以避免它是抽象的事实.因此,我们有类,如System.Web.Hosting.VirtualFileBase,System.Configuration.ConfigurationValidatorBase,System.Windows.Forms.ButtonBase,,当然,System.Collections.CollectionBase.
但是我注意到,最近,框架中的许多抽象类似乎都没有遵循这个约定.例如,以下类都是抽象的,但不遵循此约定:
System.DirectoryServices.ActiveDirectory.DirectoryServer
System.Configuration.ConfigurationElement
System.Drawing.Brush
System.Windows.Forms.CommonDialog
这就是我几秒钟内就可以鼓起来的东西.所以我去查看官方文档说的内容,以确保我没有疯狂.我在开发类库的设计指南中找到了MSDN上的类,结构和接口的名称.奇怪的是,我没有提到在抽象类名称的末尾添加"Base"的指南.该框架的1.1版已不再适用该指南.
那么,我输了吗?该指南是否存在?是不是一言不发就被遗弃了?在过去的两年里,我一直在为自己创造长篇名字吗?
有人在这里给我一个骨头.
更新 我不是疯了.该指南已存在.Krzysztof Cwalina在2005年抱怨它.
是否有如何在Android中命名资源的约定?例如,按钮,textViews,菜单等.
我有一个模块,其目的是定义一个名为"nib"的类.(以及一些相关的类.)我应该如何调用模块本身?"笔尖"?"nibmodule"?还要别的吗?
我在YAML-wikipedia上阅读了它们,但没有真正理解它们之间的主要区别.我看到有人使用.yaml扩展,但是,Symfony2使用.yml扩展.
YAML是一种人类可读的数据序列化格式,它采用来自C,Perl和Python等编程语言的概念,以及来自XML的思想和电子邮件的数据格式.
YAML是"YAML Is Not Markup Language"的递归缩写.在其发展的早期,YAML被称为"又一种标记语言",[3]但它被重新解释(回溯原始的首字母缩略词)以区分其作为数据导向的目的,而不是文档标记.
那么,.yaml和之间究竟有何不同.yml?什么时候我们应该优先选择另一个?
.net ×1
android ×1
api ×1
coding-style ×1
const ×1
django ×1
django-apps ×1
docker ×1
dockerfile ×1
git ×1
git-flow ×1
go ×1
python ×1
r ×1
readability ×1
symfony ×1
yaml ×1