他们在学校跳过的内容-语言语义

假设您刚从学校毕业,而第一份工作希望您编写C#代码。 没关系吧? 在大学里,您学习了几种语言,例如Java,C和C ++,并且您可能发现在学习了第一门语言之后,学习其他语言变得容易得多。 在这一点上,我不会告诉你你错了。 实际上,我同意:一旦您学会了学习语言,学习新语言就变得更加容易。 (我什至会将该语句引为引号,因为我认为这听起来很整洁。)

是的,工作的最终目标是制造“东西”(即使您在研究领域中也是如此)。 要正确制作“东西”,您首先需要学习如何最好地使用所给的工具。 想象一下在没有任何建筑标准和建筑规范知识的情况下建造房屋。 一开始,一切似乎都很好。 将两个板钉在一起是一项相当容易的任务。 几年或几个月之后,您就会真正遇到问题。 也许厕所停止工作了,您认为这可能是一个管道问题,但是要进入管道,您必须将墙壁取下。 哎呀 编程是类似的:如果您一开始就没有正确理解语义,那么可能很难再回来维护代码,而其他人可能会犯一些错误,从而导致整个项目失败,因为他们误解了您所写的内容。

您如何为“研究”找到好的资源?

我期待语言的创造者和社区的杰出成员。 我还深入研究框架以了解它们是如何编写的。

我承认,确定好的资源并不容易。 这是一个很大的信任游戏……为了帮助这个游戏,我建议首先找到您在该领域信任的人(例如导师)。 找到那个人后,问问他们期待谁。 然后,问问他们所面向的人,等等。 最终,您将拥有可以信任的人员和资源网络。

(在本文的底部,我将列出一些相信并且对C#和一般编程有用的资源。很抱歉,我现在是C#。)

我仍然认为学习新的编程语言并不困难。 它只比我最初预期的多了一些工作。 此外,学校在教授编程基础知识方面做得非常好,老实说,您也可以使用这些知识来编写一些很酷的代码。 但是,要成为一个好的编程团队成员,不仅需要基本的知识:还需要知道如何编写易于理解和语义正确的代码,以便当您必须回头维护它时,您可以快速了解正在执行的操作并解决问题。

我什至没有提到学习有关公司标准的知识,这很重要并且可能会偏离行业标准。 它们甚至可以偏离诸如语言语义之类的项目。 在这里要理解的重要一点是,您应该以一种使编写该代码的开发人员可以轻松理解它的方式编写代码。 换句话说,要么遵循公司标准,要么努力改变它们(祝您好运)。


这是一些C#代码,用于演示上面提到的属性示例

  • Microsoft文档-C#
  • Nutshell系列中的C#(确保注意版本号)
  • Stephen Cleary(并发性)
  • 乔恩·斯基特
  • ButUncleBob.com
  • 罗伯特·马丁(他实际上是鲍伯叔叔)