游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

一位20年老程序员分享的20条编程经验火了不要与工具作斗争等

  转载自it之家同名文章
  一位20年老程序员分享的编程经验突然火了,在HackerNews上,一天之内就收获了467热度。
  其实这篇帖子所包含的观点大都是编程圈子里较常见的概念,但是这些年来有的话题一直很具备争议性。对他的大多数经验,网友很赞同。比如:代码终究还是给人写的,注释是为了让未来的自己和其他同事能看懂
  20年浓缩成20条经验
  1。不要与工具作斗争
  所谓工具,包括库、语言、平台等。尽可能多地使用原生的开发方式。这样可以保证程序或软件的数据都存在于本地,能够及时检索,保证程序或软件的合作速度和流畅度。不要被技术捆绑,也不要被问题捆绑。应该为工作选择合适的工具,而不是为了工具寻找合适的工作。
  举个例子:编程实现在一个文件中找到给定单词出现的位置并统计出现次数。如果用C写的话需要92行代码,而使用Python的话只用26行代码就可以完成了。
  由此可见,对于同一个问题,换一个工具也许可以简化编程,提高效率。
  2。写让人可以看懂的代码
  程序员们不是为机器编写代码,而是为了同行们和未来的自己编写代码。写代码的终极目标往往是完成一个项目或给后来者作为参考。
  3。善于合作
  任何重要且有价值的软件都是协作的结果,有效沟通和公开合作很重要。能用众智,则无畏于圣人矣。
  4。对各模块分而治之
  编写相互联系却又彼此保持独立的单个模块。先分别测试每个部分,然后一起集成测试。既要保证测试接近实际,也要测试边缘实例。
  5。敢于分享自己的原创代码
  一个程序员不要成为那位唯一明白某段代码的人。可以对自己的原创代码进行优化,以便人们找到修复Bug的方式,和向代码添加功能的方法。这样也能使程序员自己轻松点,以早点进入下一个项目或公司。想要提高水平的话,不要使一段代码仅自己可见。
  6。安全是分层的
  分层安全是一种应用多种安全措施的实践,每一层都与前一层和下一层重叠,以创建一个安全控制网络,这些网络可以一起工作以保护技术系统。每一层都需要单独评估,但也需要与整体相关。
  风险是一种商业决策,与脆弱性和概率有直接关系。每个产品或组织都有不同的风险偏好,通常这三个关注点会相互冲突:用户体验、安全性和性能。
  7。代码也有生死
  要认识到,每段代码都有一个生命周期,并且会最终失效。有时,一段代码甚至还没上线发布就被废弃了。程序员要学会放手,弄明白4类特征的区别,然后想清楚应该在哪些方面投入时间和精力:
  核心:就像汽车的引擎。没有它,产品就没有意义。
  必要之处:就像汽车的备用轮子。它很少被使用,但当需要时,它的功能决定了系统的成功。
  附加值:就像汽车的杯座。有它很好,但产品没有它也完全可用。
  独特卖点:人们应该购买你的产品而不是你的竞争对手的主要原因。
  8。保护好个人信息
  程序员不要将个人身份信息附加到代码中,也不要把其他人的身份附加到他们的代码上。人是独立于他们的工作产出物之外的。不要把别对代码的批评当成是针对个人的,当然也在批评他人的代码时也要谨慎。
  9。尽量规避技术债务
  技术债务是开发团队在设计或架构选型时,为了快速地解决问题,而采取的不规范的方案。偶尔的技术债务是可以接受的,但如果长期负债往往会快速地扼杀产品。
  10。可参考以下优先级
  为解决方案做决定时,假设其他条件都是一样的,可以按照这个优先级:
  安全性可用性(可访问性和用户体验)可维护性简单性(开发人员体验DX)简短性(代码长度)性能
  但是也不要盲目地遵循这个规则,还要考虑到产品的性质。例如,在设计游戏引擎时,性能是最重要的;但在创建银行应用程序时,安全性是最重要的因素。
  11。复制粘贴会带来Bug
  有时复制粘贴后,会出现Bug,这个几乎无法避免。为了检查是否有问题,每次都需要搞明白复制过来的内容,并审核导入的内容。
  12。不要只为乐观场景写代码
  还要写出好的错误提示,回答其为什么会发生,如何检测到它,以及如何解决它。
  13。尽量不要使用依赖库
  若调用一个动态库A时,A需要调用动态库B,则B是A的依赖库。
  尽量不要使用依赖库,除非导入、维护、处理边界情况时出现Bug,或者当代码不满足需求时,重构的成本远远低于你拥有的代码。
  14。不要盲目跟风
  可以去了解热炒的新技术,但不要被拽着走,要坚持自己对技术的品位。
  15。坚持学习
  16。最好的代码都有良好的注释
  一些人认为,代码写的够好,就不用写注释了。但最优秀的的代码中往往都包含着良好的注释。这样,即使是没有经历过这段代码的调试、测验过程,且暂时不具备写出此代码能力的人都可以使用它。
  可以说,未文档化的功能是不存在的功能,不存在的功能不该有代码。
  17。尽量避免重写、继承和隐藏信息
  写纯函数(PureFunction)。对于纯函数,相同输入总是会返回相同的输出,执行过程中不产生副作用,且不依赖于外部状态。它们更容易测试和推理。
  在执行一个非纯函数时,除了得到函数的返回值以外,还在函数调用时产生了附加的影响,如:修改了全局变量的状态,修改了传入的参数等。
  任何非纯函数都应该是类,任何具有不同函数的代码构造都应该具有不同的名称。
  18。弄清楚问题后再开始编程
  面对一个问题,首先要弄清解决思路,再开始编程。在编程过程中还需要逐步经历编码测试改进周期,并不断深入探索,直到完成。
  19。不要去解决不存在的问题
  不要进行投机性编程。只有在确定代码将来会被扩展时,才去花功夫提高代码的扩展性。
  因为当代码要被扩展时,有很大的可能性问题定义已经与代码初次编写时不同了。
  20。巧用社区、积极探讨
  合作完成一个程序或软件往往更有趣。许多程序员包括技术大牛们都会在一些专业论坛(如Github、Stackoverflow等)上分享自己的原创代码,供他人参考、提建议以及修复Bug。
  参考链接
  〔1〕。https:alexewerlof。medium。commyguidingprinciplesafter20yearsofprogramminga087dc55596c
  〔2〕。https:blog。daftcode。plhypedrivendevelopment3469fc2e9b22

龟兔赛跑教学反思范文(通用3篇)身为一位优秀的老师,我们需要很强的教学能力,借助教学反思我们可以快速提升自己的教学能力,教学反思应该怎么写呢?以下是小编为大家收集的龟兔赛跑教学反思范文(通用3篇),仅供参考,……三年级音乐树叶儿飘飘教学设计教学目标:1、学唱《树叶儿飘飘》这首歌,能用优美、动听的歌声表达对秋田的喜爱之情,参与对歌曲的创造、表现和体验,在视、听、想、唱、动等综合音乐活动中感受秋天的美丽……用海域造句海域拼音【注音】:haiyu海域解释【意思】:指海洋的一定范围(包括水上和水下)。海域造句:1、这些海盗在日本和印度附近的海域航行。2、他们……小学汉语拼音zhchshr教案拼音的学习是比较枯燥的,低年级学生的注意力又容易分散,简单的游戏,充满童趣的语言描述,使枯燥的字母富有生命,激起学生的兴趣。以下是小学汉语拼音zhchshr教案,欢迎阅读。……爱惜自己的名誉教学目标认知:1知道一些自尊自爱的人物的事迹和格言。2懂得知荣辱、知羞耻、是自尊的表现。3能以实例区分自尊与不自尊的行为。情感:1崇敬爱惜自……课文听听那冷雨优秀教学设计教学目标:1、在反复诵读中体会文中的情思、意境和独具魅力的语言。2、积累中国古代山水诗,品味祖国的山水之美。3、根据自己的经历,借鉴文本的表达技巧,能够写出情……大班特殊的电话号码安全教案活动目标:让幼儿了解一些特殊的电话号码,初步了解它们可以在紧急情况下解决一些特殊问题。培养幼儿初步的自我保护意识。活动准备:情景表演或录像。读幼儿操作材……2019八年级下册暑假生活指导答案数学注意:ldquo;rdquo;代表分数线ldquo;rdquo;X表示平均数括号表示两个字母同在分母或分子里x1如:(x1)(y1)表示y1……否则的造句1、出门前跟妈妈说一声,否则她会担心的。2、在来以前请打电话,否则我们可能不在家。3、你一定要把基础打好,否则很难掌握更深层的知识。4、你先做作业,否则别想看……小石潭记优质教学设计范文(精选3篇)作为一名老师,就不得不需要编写教学设计,借助教学设计可使学生在单位时间内能够学到更多的知识。那么教学设计应该怎么写才合适呢?下面是小编收集整理的《小石潭记》优质教学设计范文(精……人教版五年级语文下册童年的发现教学设计教学目的:1、正确、流利、有感情地朗读课文。2、理解课文内容,体会最后一句话的含意,领悟作者童年是求知若渴、寻根究底和大胆想象的精神。3、激发学生探究兴趣、培……中班语言夏天的歌在哪里课堂教学反思本周我们的教学活动内容都是围绕夏天这个主题来进行的,在之前的活动中我们班幼儿对于夏天的特征已经掌握得比较好了,都已经知道夏天天气很热、可以吃西瓜、会下雷雨等。但是本次我们的语言……
精选关于用却字造句导语:造句,动词词语,是指用词语组织句子。今亦以指初等学校语文练习内容之一。以下是小编整理精选关于用却字造句的资料,欢迎阅读参考。1、然而天有不测风云,下午却下起了淅淅沥……美国加州山火有多大?气象卫星拍到地球在冒烟IT之家10月29日消息肆虐美国加州北部多日的山火仍无法得到控制,加州州长27日宣布全州进入紧急状态,山火规模之大,就连美国气象卫星都从太空拍下了山火的浓烟。据悉,美国加……马斯克卫星项目为美国军机测试加密上网服务北京时间10月23日早间消息,美国民营航天公司SpaceX总裁周二表示,美国空军正在使用该公司刚起步的卫星网络来测试许多军用飞机的加密互联网服务,并向这第一位客户详细说明了这个……北京交通绿色出行一体化服务平台上线可查几点最顺畅地铁挤不挤11月4日消息,北京市交通委员会与阿里巴巴旗下高德地图签订战略合作框架协议,共同启动了北京交通绿色出行一体化服务平台,双方采用政企合作模式,共享融合交通大数据,打造北京MaaS……央视支付宝游戏账号等成90后新遗产,继承人多为父母感谢IT之家网友未来的线索投递!IT之家12月24日消息网络支付日益普及的今天,许多人在支付宝、微信上都存有不少现金。据央视新闻报道,近日,一名90后将自己的支付宝、游戏……郑州地铁全线网开启刷脸乘车感谢IT之家网友楷天kaitia的线索投递!IT之家12月2日消息郑州地铁官方宣布,12月3日,郑州地铁全线网开通刷脸乘车,郑州地铁由此全面进入刷脸时代。继今年9月……交通运输部新规在地铁内使用电子设备时不得外放声音IT之家10月26日消息近日,交通运输部印发了《城市轨道交通客运组织与服务管理办法》(以下简称《办法》),共7章43条,包括总则、基础管理、客运组织、客运服务、乘客行为规范、服……圆扇形弓形的面积(二)教学目标:1、使学生在复习巩固圆面积、扇形面积的计算的基础上,会计算弓形面积;2、会计算一些简单的组合图形的面积3、通过弓形面积的计算培养学生观察、理解能力,……周鸿祎示警5G时代所有网络攻击都可能变成物理伤害11月21日消息,首届世界5G大会在京开幕。360集团董事长兼CEO周鸿祎发表了5G时代的安全挑战与应对主题演讲。周鸿祎透露了其对5G时代的担心,他认为未来通过5G网络和物联网……生命与气候的阅读题答案你能想到吗?千百万年以来,地球的气候是由地球的两大生命王国动物界与植物界的斗争所决定的。动物吸进氧气而呼出二氧化碳,植物则吸进二氧化碳而放出氧气。二氧化碳为温室气体。因此可以得……领英发布2020年新兴职业增长排名人工智能专家第一IT之家12月14日消息近日全球知名职业社交网站领英(LinkedIn)发布了2020年新兴职业清单,人工智能专家增长率排名第一位。根据领英(LinkedIn)的报告可以……谷歌外包审核员年薪26万天天删暴恐视频,半年崩溃12月17日消息,据外媒报道,谷歌及其视频分享平台YouTube的内容审核方式与所有其他科技巨头一样,即付钱给外包公司来承担大部分审核工作。名为Accenture的公司运营着谷……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网