徒劳的承诺:有关API的经验

在编程之旅的开始,您一定会被介绍给版本控制系统Git和存储库GitHub。 GitHub的美丽之处之一是它的开放性。 您可以看到人们的项目,他们贡献的频率,甚至是一些基本的个人资料信息。 作为一个新的开发人员,您可能会被存储库的数量和其他开发人员所做的承诺所吓倒,至少我是这样。 刚开始参加维京代码学校时,令我感到兴奋的是,有机会展示我将在GitHub上做的工作量,并且在大多数情况下,除了一个细节外,我一直在…… 致命缺陷 GitHub会跟踪用户对存储库进行提交的频率,但在某些情况下除外。 就我而言,我对从Viking Code School分叉的存储库进行了大量提交,但是不幸的是,这些存储库从未接受过他们的请求请求(这是程序管理项目提交的方式,不是因为我的代码不是很棒)。 没有接受拉取请求的分支不会公开跟踪其提交,这意味着我的贡献图一直都很稀疏。 救援API 幸运的是,我不是第一个因此问题而感到自豪的维京学生,该计划已实施了一个项目,该项目实际上为解决此问题提供了解决方法,这是他们关于API的课程的一部分。 Github具有完善的API,使您能够访问有关用户,存储库和提交的大量信息。 该项目要求我们使用GitHub的API来访问对fork进行的所有提交的提交时间,然后开发一个脚本,将这些提交的时间写到新的虚拟存储库README上,回溯所有这些时间的git commit,并将其推送到虚拟存储库。 这将使我们能够显示我们所做的所有提交,甚至在我们的分叉存储库上。 起点…

编程语言设计的组织混乱

像人类语言一样,编程语言会随着时间的流逝而发展,但是围绕该过程的经验主义不足。 尽管一些语言开发人员发布了大量的文档,证明了为什么要在整个版本中引入特定的修改,但是却很少有文章将孤立的决策归纳为一套跨语言的跨语言规范集。 这主要是因为不存在这样的通用“标准”。 即使是这样,它也可能没有太大用处或细微差别,因为编程语言及其用途和应用程序具有很大的可变性。 这种差异反映了每种语言在特定领域的应用范围,其用户群,社区,思想流派以及影响一种语言成败的若干社会和经济因素。 编程语言理论(PLT)是计算机科学的一个子学科,与语言的研究,设计和实现紧密相关。 尽管它是一个活跃的研究领域,但大多数开发人员并未从实用角度充分理解它。 本文的目的是使软件开发人员熟悉PLT的基本概念,以揭示围绕软件创建的一些一般“主观性”。 这很有用,原因如下: 做出明智的技术决策。 建立用于检查语言的词汇和工具为我们提供了一种推理技术决策的复杂方法。 考虑改善开发人员的经验。 了解语言功能使我们能够更好地在技术的角落进行创新,同时关注技术的正确性和开发人员的经验。 善于学习新语言。 多种语言之间共享多种语言功能。 熟悉一种语言的构造有助于我们形成主题并识别超越语言的模式。 不太容易出现系统错误。 计算决策并非没有执行者的认知偏见。…

为什么我们应该使用正确的代码样式

您是否曾经与您的朋友一起进行过一个项目,并且意识到您的朋友的代码难以理解,因为其命名变量不一致,或者有时=之间有空格,有时他们不使用它? 或者,也许您太慷慨了,并期待为GitHub中的一个开源项目做贡献,而您发现您的拉取请求由于您的代码风格而被关闭了? 那您来对地方了。 今天,我将提供有关维护良好代码的提示,这些代码便于您自己和其他人阅读。 什么是代码样式? 代码风格,编程风格或编码约定是编写代码时的一组规则或准则。 创建代码样式背后的动机是确保开发人员根据指南进行编写,以便其他开发人员可以阅读该指南。 此外,它还有助于避免开发人员在编写代码时出错。 大多数编程语言具有不止一种代码样式。 发生这种情况的原因是公司或开源组织通常具有自己的代码样式。 我曾经发现过的一种奇怪的命名约定是Android源代码的代码风格,其中我必须为某些特定类型的变量在name变量前面写一个额外的m 。 我几乎不接受该约定,唯一一次遵守该代码约定的是在讲习班上教书的时候(我真是个糟糕的开发人员!)。 在哪里可以学习特定编程语言的代码样式? 这个问题的答案可能有所不同。 如前所述,组织或公司通常具有自己的代码风格。 但是,它们中的大多数实际上都在使用众所周知的代码样式,或者其中一些可能会稍微修改那些代码样式,以匹配其首选项。 这里有一些可用的各种代码样式。…