作家
登录

开发者一犯再犯的15个菜鸟错误

作者: 来源: 2017-11-03 09:06:30 阅读 我要评论

在我还20出头不懂事的时刻就我就在犯这些缺点,我全都碰到过。然则大年夜多半缺点我照样一犯再犯。

开辟者一犯再犯的15个菜鸟缺点

编码的人还在编码,而菜鸟一向都在犯菜。有时刻,甚至经验丰富的老鸟也会犯一些菜鸟犯的缺点。然则大年夜多半时刻犯的是同一个缺点。

这些缺点根本上是属于计谋上的。你应当先用版本控制治理好你的代码,然则即使你治理好了你的代码你照样有可能犯这些计谋上的缺点,然后就像一个孙子一样受罪。

菜鸟缺点1:把Make或Shell当成构建对象

如不雅你不是应用C或者C++说话,Make就不是那么实用了。Make老是为每个文件从新加载一个编译器过程。大年夜多半现代说话并不是设计成为每个文件加载零丁的过程,并且你如果想在Java如许的说话中应用Make解决dependency的问题几乎是弗成能的。

我曾经在一个大年夜型收集设备公司工作过,并且经由过程把它的构建转换到Ant(一个Java构建对象),使构建过程大年夜3小时缩短到了20秒。

【编辑推荐】

  1. 2017 Web 开辟安然风险 TOP10,看看中枪了没?
  2. Python开辟中若何应用Hook技能
  3. 51CTO首届开辟者大年夜赛部分作品曝光,等你来弥补!
  4. 微软开源免费网站检测对象,异常值得开辟者一试
  5. 开辟者最憎恶的编程说话:PHP、Ruby 躺着也中枪
【义务编辑:未丽燕 TEL:(010)68476606】

以一个shell脚本来结尾也是一步错棋。比来我为一个实验室写了一个shell框架,因为我不想只是为了一个小实验室,但却要所有人都要去下一全部Java对象集,我原认为是一步好棋,然则其实我真是干了件蠢事儿(一如既往),因为它所依附的┞封个软件的下一?版本打破了一切(一如既往)。如不雅我接收了它并供给了一个现代化的构建对象,它应当是可以或许更新dependency的。


你可以应用一个安然的随机生成器支撑的128位的UUID,而不是用单线程处理数据库序列生成器的一切。如不亚妹怕被复制的话,要么你数学很差,要么你并不像看重你的生活那样看重数据。即使在你生成了万亿个ID之后,你照样有更大年夜的可能性被流星击中你的大年夜头哦~

菜鸟缺点2:把IDE用作构建对象

大年夜多半的IDE具有一些神奇的构建/安排功能。这在初期可能是件功德,当然仅仅用来测试你本身的代码是异常不错的。然则最终会产生依附项,并且其他人也会介入编写你的代码。然后你就会搞不清它为什么是在这台设备上编写而不是另一台。你须要一个IDE之外的可反复构建的对象,它应当要可以在持续集成对象上运行。

菜鸟缺点3:终止AWS实例

“Terminate”在AWS中意味着“delete everything”——而不是其他大年夜多半对象中的“终止过程”的意思。

大年夜多半应用法度榜样代码都可以用单线程的世界视图编写。然则当你开端写竽暌功用的办事器、数据库或者其他底层代码时就不克不及这么干了,大年夜多半商务软件都可以用类似的底层代率攀来编写——所以你不消写这些直接转到多线程就好了。

我介入的第一个亚马逊收集办事项目中,有一个开辟者推想到一个可以浏览属性的对象应当是可以安然运行的。很不幸的是,如不雅你不当心浏览了terminate属性,它就会立时终止实例。他在所有一切上都运行了,然后终止了100多个实例。AWS大年夜大年夜削减了犯这类缺点的几率,然则实际上“terminate(终止)”确切地说应当被称为“destroy permanently(永远地息灭)”因为开辟者terminate(终止)过程时是知道它们是可被以重启的。然则假如你终止了一个AWS实例,你就永远掉去了它们。

菜鸟缺点4:测试你在乎的所有内容

上述的开辟者还异常轻易犯一个菜鸟问题:他把所有我们在乎的器械都测试一遍。精确的做法是他应当创建一个零丁的实例,在这个实例长进行测试。即使你认为你所做的是没有害处的,你照样应当在安然的情况测试你的假设。

菜鸟缺点5:寻求绝对的数据完全性

我看到不止一位开辟者应用READ_SERIALIZED 以及table locks,因为他们极端寻求数据完全性。当然还有很多其他的临盆锁强迫症。其实它们都属于糟糕的模式设计以及对数据、并发和风险的不实际懂得。

菜鸟缺点6:把你的代码放进HTML或把HTML放进你的代码

不论是ASP,JSP,PHP,CGI,或者是直接码,老是有办法把代码塞到HTML琅绫擎,并且几乎老是有办法写一些类似out.println(“This is a terrible idea”);.如许的器械,我曾经有段时光是这么干的——差不多是1995年吧……

然而如今有更多现代的分列。我曾看到看竽暌剐些人用JavaScript做一些异常恶心的工作都挺似曾了解的。我们当然可以找到很多更好的办法,例如:一个标签库 ,一个事宜处理器,啥都行,就是HTML 代码不可!

菜鸟缺点7: 应用全能列表

我承认在我不肯定命据是若何形成时,我会在原型代码中做这件事,但一旦我知道,我就很快放弃这种做法。一般应用高等说话的人都邑犯“这”样的缺点。“这”样的缺点是什么呢?根本上就是,他们不消地图, 关系树, 或者set,而是把所有器械都列在一张表上,然后所有器械都由你本身整顿。更糟糕的是,钠揭捉?择一个数组返回列表,并持续插入中间邻近的某个处所。

这种代码的麻烦在于, 它往往会导致临盆。不过, 我想在某些时刻, 在操作体系中加载测试垃圾收受接收器或内存治理是很好的!!!

菜鸟缺点8: I<3持续

哇哇哇!你上了一节关于decomposition的课之后,你决定你的第一步是把一切组织成完美的阶层等级。你忘记储存器械或者使你的项目正常运作——不,你只是想让大年夜家来懂得你的大年夜脑是若何运作的,并切记一组丑恶的并行类构造。我的天哪!你照样快点去DMTF(Desktop Management Task Force 桌面治理义务组)工作吧!


  推荐阅读

  云计算市场发展仍存在七大障碍

如不雅说中国IT界最火的词,那非云计算或云莫属。不管是新兴的云办事商,照样传统的软件供给商,以及科技公司,都在大年夜吵“云计算”。然则,我们看到这个市场依然成长迟缓,>>>详细阅读


本文标题:开发者一犯再犯的15个菜鸟错误

地址:http://www.17bianji.com/lsqh/38426.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)