当前位置: 首页 > news >正文

抚州做网站公司拓者吧室内设计吧

抚州做网站公司,拓者吧室内设计吧,专业做外贸的网站,市场营销策略模板计算机科学中只有两件难事#xff1a;缓存失效和命名。 命名是编程语言的要求#xff0c;但是好的命名却是为了提高程序的可读性和可维护性。好的命名是什么样子的呢#xff1f;Go语言的贡献者和布道师Dave Cheney给出了一个说法#xff1a;“一个好笑话#xff0c;如果你… 计算机科学中只有两件难事缓存失效和命名。 命名是编程语言的要求但是好的命名却是为了提高程序的可读性和可维护性。好的命名是什么样子的呢Go语言的贡献者和布道师Dave Cheney给出了一个说法“一个好笑话如果你必须解释它那就不好笑了。好的命名也类似。”无论哪门编程语言良好的命名都应该遵循一些通用的原则但就像之前提到的“语言影响思维”的假说那样不同的编程语言会有一些个性化的命名惯例。 在gofmt的帮助下Go语言统一了代码风格标准Gopher再也无须为括号摆放位置、使用制表符还是空格、是否对齐赋值操作等而争论了。在这种情况下命名成了广大Gopher为数不多可以“自由发挥”的空间。不过关于命名Go语言也有自己期望大家共同遵循的原则。 下面将详细阐述这两个原则以及在这两个原则下的一些命名惯例。 简单且一致 对于简单我们最直观的理解就是“短小”但这里的简单还包含着清晰明确这一前提。 下面是Go语言中一些常见类别标识符的命名惯例。 1. 包 对于Go中的包package一般建议以小写形式的单个单词命名。Go标准库在这方面给我们做出了很好的示范 我们在给包命名时不要有是否与其他包重名的顾虑因为在Go中包名可以不唯一。 比如foo项目有名为log的包bar项目也可以有自己的名为log的包。 示例如下。 import github.com/bigwhite/foo/log // log.XX中的log指代github.com/ bigwhite/foo/log下的包 import barlog github.com/bigwhite/bar/log // barlog这个显式包名指代gitGo语言建议包名应尽量与包导入路径import path的最后一个路径分段保持一致。 比如包导入路径golang.org/x/text/encoding的最后路径分段是encoding该路径下包名就应该为encoding。 但在实际情况中包名与导入路径最后分段不同的也有很多。 比如实时分布式消息队列NSQ的官方客户端包的导入路径为github.com/nsqio/go-nsq但是该路径下面的包名却是nsq。笔者分析这主要是为了用仓库名称强调该实现是针对Go语言的比如go-nsq的意义是这是一份Go语言实现的NSQ客户端API库为的是与nsq-java、pynsq、rust-nsq等其他语言的客户端API进行显式区分。 此外我们在给包命名的时候不仅要考虑包自身的名字还要兼顾该包导出的标识符如变量、常量、类型、函数等的命名。 2. 变量、类型、函数和方法 一个Go工程中包的数量是有限的变量、类型、函数和方法的命名占据了命名工作的较大比重。 Go语言官方要求标识符命名采用驼峰命名法CamelCase以变量名为例如果变量名由一个以上的词组合构成那么这些词之间紧密相连不使用任何连接符如下划线。 驼峰命名法有两种形式 1一种是第一个词的首字母小写后面每个词的首字母大写叫作“小骆峰拼写法”lowerCamelCase这也是在Go中最常见的标识符命名法 2而 第 一 个 词 的 首 字 母 以 及 后 面 每 个 词 的 首 字 母 都 大 写 叫 作“大 驼 峰 拼 写法”UpperCamelCase又称“帕斯卡拼写法”PascalCase。 3由于首字母大写的标识符在Go语言中被视作包导出标识符因此只有在涉及包导出的情况下才会用到大驼峰拼写法。不过如果缩略词的首字母是大写的那么其他字母也要保持全部大写比如HTTPHypertext Transfer Protocol、CBCCipher Block Chaining等 为变量、类型、函数和方法命名时依然要以简单、短小为首要原则。 感受一下Go命名惯例带来的效果 // 不好的命名 func RuneCount(buffer []byte) int { runeCount : 0 for index : 0; index len(buffer); { if buffer[index] RuneSelf { index } else { _, size : DecodeRune(buffer[index:]) index size } runeCount } return runeCount }// 好的命名 func RuneCount(b []byte) int { count : 0 for i : 0; i len(b); { if b[i] RuneSelf {i } else { _, n : DecodeRune(b[i:]) i n } count } return count }Go语言命名惯例深受C语言的影响这与Go语言之父有着深厚的C语言背景不无关系。
http://www.hkea.cn/news/14432449/

相关文章:

  • 福州网站排名推广做网站优化的话术
  • 网站内容建设包括企业形象设计的意义
  • 网站页面和图片设计网站建设搜索优
  • 电商网站哪家做的好重庆微信开发网站建设
  • 做网站暴利赚钱微信网站开发登录
  • 网站建设需求怎么提建设银行面试经验网站
  • 高新区建网站外包站酷网设计素材
  • 做好的网站模板怎么修改seo搜索是什么
  • 网站代理最快最干净中交路桥建设有限公司是国企吗
  • 常州市天宁区建设局网站新网站百度seo如何做
  • 深圳建网站兴田德润可信大同建设局网站
  • 邵武网站建设WordPress免费问答主题
  • 怎样python做网站dedecms购物网站
  • 福州建设公司网站湖南注册公司
  • 公司做网站需要准备什么材料佐力药业股票千股千评
  • 海南智能网站建设公司万能邮箱登录入口
  • 洛阳网站制作wordpress腾讯cos插件
  • 做网站收录昆山建设工程招聘信息网站
  • 欧式建筑网站网贷代理平台
  • 太原网站建设招聘做视频广告在哪个网站能够赚钱
  • 重庆交通建设集团网站为wordpress添加虚拟用户权限
  • 网站 空间 双线网页设计简约
  • 校园兼职网站开发用例图百度app下载安装
  • 凡科网站备案ps软件下载电脑版免费怎么下载
  • 网络企业网站建设方案网站被入侵后需做的检测 1
  • 长春做电商网站的公司网站共享备案可以申请支付接口
  • 东莞做网站的公司哪家最好成免费crm软件
  • 网站开发者morz深圳公司手机网站制作
  • 如何在网站上做标记圈信息文字网页游戏
  • 长沙做四维彩超玛丽亚m网站响应式网站 英语