加载中 ...
首页 > 新闻资讯 > 经验心得 正文

关爱码农成长:关于写代码二三事

2019-03-25 09:39:37 来源:沈阳软件公司 作者:沈阳软件开发

The Law of Leaky Abstractions,讲的是每一层抽象化都或多或少会有毛病。从leaky abstraction 角度来看,SQL 已经是一层有洞的abstraction 了,而ORM 洞更大!(注:写这两篇文章的两小我私家,恰好就是Stack Overflow 的两位开办人,真巧。)

3,网络宁静

网络宁静(network security)平时很容易被忽略,由于它费事费工,没有立刻效益。可是对网络宁静的轻忽,一旦失事,经常导致企业或政府重大损失。这让我想起以前当社区管委会主委的时间,按消防法例要搞什么社区消防编组、演训,还要指派防火治理人,真的很贫苦。宁静这种事情就是这样。

有些网络宁静议题,是属于系统治理者的领域,例如DoS (denial of service)DNS spoofingman in the middle;有些则是程序员的责任区,例如SQL injectioncross-site ingcross-site request forgery 等等。此外像验证使用者身份的流程、储存/传送使用者敏感资料的方式,也都与宁静有关。资深程序员对网络宁静议题及常见攻击手法,应该要有足够的熟悉与敏感度,并在开发历程中合理接纳预防措施。

4,代码语言的多样性

代码语言是程序员用饭的家伙,除了天天事情上用到的,资深程序员也应该接触一些差别的代码语言。例如:函数程式语言

函数程式语言(functional programming language)是另一种气势派头的程式语言,可以挑一个好勤学一下。我小我私家推荐Haskell,但F#ScalaOCamlLISPRErlangClojure 这些也都不错,各有拥护者。

现实事情上,不见得有时机使用这些函数程式语言,但好勤学一种,可以拓宽自己程式设计的思绪。而且现在许多程式语言,包罗C++C++ 11 之后)、C#JavaJava 8 之后)、JavaPythonRubySwift 等等,都具备一定的functional programming 能力,可以运用在事情上。

5,组合语言

除非是用C assembly 写硬体相关或compiler/toolchain 的人,组合语言在现实事情中很少用到。但我以为应该相识一下,由于这是软件的最底层,再往

<a href=http://www.hvihi.com target=_blank class=infotextkey>沈阳<a href=http://www.hvihi.com target=_blank class=infotextkey>软件开发</a></a>,<a href=http://www.hvihi.com target=_blank class=infotextkey>沈阳<a href=http://www.hvihi.com target=_blank class=infotextkey>软件公司</a></a>

下就是硬体了。中学时间写过65028088,大学上过一堂MIPS 组合语言的课,实在还蛮有趣的。写过组合语言,会让你对电脑怎样执行代码更有「感受」。可是组合语言不用太认真学,由于真的很少用。学个观点、最多写几个小训练即可。

6SHELL

若是你事情中有用到Linux/Unix 相关的OS,我建议应该要学一种shell ,例如bash。若是你是ops/service engineer 或系统治理者,这应该是必备能力了,不外资深程序员最好也能懂这些。就像vi 一样,有些工具已经很古老了,但网络天下就这么运作着。没措施在terminal 情况事情的人,许多问题处置惩罚起来就显得笨手笨脚。

四、非关手艺

除了专业手艺能力,我再增补一些非关手艺的心得。

1,压迫砍掉重写的激动

在开发历程中,程序员很容易对既有代码发生一种「这谁写的?砍掉重写比力快」的激动,包罗我自己在内。我想可能的缘故原由有:

砍掉重写实在比力容易(拆掉旧屋盖新屋很快,保留这面牆、那扇窗的反而更难题)

在自己的土地当山大王很开心(人都喜欢根据自己的意思来)

2,在系统生长的历程中,许多需求厥后才泛起,使当初的架构显得左支右绌,但在其时实在是很合理的设计

上线多年,程序员处置惩罚了许多状态、修复许多bug,因此代码显得没那么洁净优雅

写代码比读代码容易

3,文人相轻

(清除以上种种因素之后)当初的代码真的写很烂

“沈阳软件公司”的新闻页面文章、图片、音频、视频等稿件均为自媒体人、第三方机构发布或转载。如稿件涉及版权等问题,请与

我们联系删除或处理,客服QQ:55506560,稿件内容仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同

其观点或证实其内容的真实性。