范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

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

  转载自it之家同名文章
  一位 20 年老程序员分享的编程经验突然火了,在 Hacker News 上,一天之内就收获了 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. 尽量避免重写、继承和隐藏信息
  写纯函数 (Pure Function)。对于纯函数,相同输入总是会返回相同的输出,执行过程中不产生副作用,且不依赖于外部状态。它们更容易测试和推理。
  在执行一个非纯函数时,除了得到函数的返回值以外,还在函数调用时产生了附加的影响,如:修改了全局变量的状态,修改了传入的参数等。
  任何非纯函数都应该是类,任何具有不同函数的代码构造都应该具有不同的名称。
  18. 弄清楚问题后再开始编程
  面对一个问题,首先要弄清解决思路,再开始编程。在编程过程中还需要逐步经历"编码-测试-改进"周期,并不断深入探索,直到完成。
  19. 不要去解决不存在的问题
  不要进行投机性编程。只有在确定代码将来会被扩展时,才去花功夫提高代码的扩展性。
  因为当代码要被扩展时,有很大的可能性问题定义已经与代码初次编写时不同了。
  20. 巧用社区、积极探讨
  合作完成一个程序或软件往往更有趣。许多程序员包括技术大牛们都会在一些专业论坛(如 Github、Stackoverflow 等)上分享自己的原创代码,供他人参考、提建议以及修复 Bug。
  参考链接
  [1]. https://alexewerlof.medium.com/my-guiding-principles-after-20-years-of-programming-a087dc55596c
  [2]. https://blog.daftcode.pl/hype-driven-development-3469fc2e9b22

享天籁如饮美酒千杯,襄盛典齐聚好友杂谈(下篇)29号展台JADHIFI水泥塞也是近期展会的老面孔了,强烈推荐喜欢大编制的烧油在在展会上一定得去试试看大水泥搭配官方自用的套装。3031号展台Yongse扬仕李老板一直很会玩,这次国内VR初创公司发展6年,依然逃脱不了被收购的命运吗?(VRPinea10月11日讯)最近一年,投资机构对ARVR的关注度持续走高。国内不少资本科技巨头从去年就开始积极接触VR和AR项目,除了字节腾讯等互联网的巨头,还有主流投资机构。元宇宙开发商Chimeras获200万美元融资Snap成立Arcadia工作室(VRPinea10月20日讯)今日重点新闻元宇宙游戏开发商Chimeras获得200万美元融资,新资金将用于元宇宙产品的开发MicroOLED方案商芯视佳已完成5亿元人民币战略融这抹少女粉,是不是你心中的颜值担当?大家好,我是DC大鸽,鸽子的鸽由于种种原因,手上堆积了一大堆文字债,最丧心病狂的已经鸽了大半年了。前几天数了数吓一跳,居然有十几件器材没写,好吧,既然做不到今日事今日毕,争取做到今破旧立新DC评OpenAudio破军2020年的收官之作,我来谈谈OpenAudio的全新旗舰破军。在之前介绍OpenAudio的老旗舰Ketamine的文章(在激进与克制之间DC评OpenAudioKetamine一个好的趋势DC评HarmonicDyneZeus不赚钱的事,谁做?音频发烧,从舶来品时代,到现在的不唯洋货,后起国产春笋纷纷,某种意义上算是基本完成了从模仿到追逐,再到试图超越的后发者行为路径。尤其是在随身领域,早年间负责OEM当之无愧的国产之光DC评达音科禅怎么就国产之光了?一个做耳塞的而已一句轻描淡写的评价,将许多人为之理想而付出的努力,贬低的一文不值。音频类产品,作为后发追逐者的赛道,也正如其他国产替代概念的行业一样,很多人惯性思九阳神功DC评凯音C9在武侠世界里,九阳神功是一本令天下武林人士心驰神往的武功秘籍。它上面记载了至刚至阳的内功心法。大成之后可以易筋洗髓,使人百毒不侵。亦能让人驱使真气护体,成就金刚不坏之躯。而且无论你享天籁如饮美酒千杯,襄盛典齐聚好友杂谈(上篇)2021年1月9日10日,第五届耳机与杂谈年度盛典在深圳湾创新广场发布中心圆满举办,为2021年HiFi大戏开了个好头。感谢主办方邀请,耳机美学第二次受邀参加盛典,与众多烧友一起度小身材,大能量DC评威泽HE01和其它数码产品相比,HiFi耳机市场其实蛮特别的,几百块的入门产品,其实更难做,一方面受制于成本以及手机大厂们的空间挤压,另一方面这个价位的目标用户其实也很挑剔,既想要声音好听,又最短的咒是名字DC随谈凯声阴阳师最近知名剽窃带师郭敬明时隔15年,终于为当年的抄袭案道歉,但是依然无法挽救自己的电影晴雅集被下架的命运。晴雅集虽说改编自日本魔幻小说霸主梦枕貘的名作阴阳师,但也有网友戏说郭敬明仅仅
美苏最接近战争的时刻!美国务院解密文件曝光三战差点就打响了据俄罗斯卫星通讯社报道,从美国国务院最新解密的一批情报文件来看,美国在1983年11月所进行的阿布尔阿彻(ablearcher)演习使得人类几乎接近第三次世界大战的边缘。而美国分析消灭美国的可能还是美国!枪击案频发,民间枪支多到难以想象枪支泛滥问题,是美国社会老大难的问题,尽管多位美国总统都曾承诺过会限制枪支,但是效果却并不明显。目前美国民间保有枪支超过三亿六千万支,占全世界民间持枪数量的百分之四十。要知道,美国盘点上海车展阵仗最大的新能源展台,恒大汽车9款车齐上阵吸睛一年一度的上海车展又来了,赶在媒体日上,我们对本届车展的各大展馆转了个遍,从今天开始,我们开始盘点本届车展各种之最。今天要说的是本届上海车展上阵仗最大的新能源汽车展台,那就是恒大汽下毒囚禁虐待,遭受变态PUA,这样的爱让人窒息有这么一句歌词,相信大家从小就听过,甚至每个人应该都会唱世上只有妈妈好,有妈的孩子像块宝,在我们的眼中母亲这个人物是对家庭对自己的孩子是无私奉献的,不管是好吃的好玩的,永远考虑的都创维电视怎么下载电视家3。0?一招教你给创维电视安装电视家电视家是大家非常熟悉的电视直播软件,然而创维电视因自身系统问题,断绝一切第三方软件的安装。小编经过各种测试后,终于发现了一种创维电视最有效的安装电视家3。0的办法,此方法同样适用于创维电视怎么看电视台直播?最新教程分享,无需U盘即可解决创维系统的电视质量虽好,但却有一个闹心的问题,就是不能安装第三方软件看电视台直播。小编经过重重测试后,终于发现了一个方法,能够完美解决创维电视无法安装直播软件的问题,并且不需要任何能否打破眼前的局面?中国巨资拿下的巴铁良港,发展前景广阔众所周知,中国的石油进口一直面临着马六甲海峡困局,这一方面是因为国内日益增长的石油需求量,另一方面也是因为全球主要的石油出口国家都集中在中东地区。从目前中国快速增长的石油缺口来看,我和我的家乡一部让人飙泪的喜剧片,现在可以抢先看了每个人的心中都有一个自己的家乡,那里有自己熟悉的味道人每个人对家乡的概念也是有所不同的,远在他乡的你,是否有时候也怀念自己的家乡,那里有你熟悉的人和事。今天我要跟大家介绍的就是今年喝一杯杰伦的奶茶看未来智能汽车,R汽车上海车展兑现想象进入2021年,国内汽车销量大幅增长,汽车市场展现出了旺盛的活力,作为今年首个大型国际车展,上海车展可谓万众瞩目。在这个盛大的舞台上,各大车企自然不会放过大秀身姿的机会,纷纷通过各央视重点播报!我国超高速风洞即将完成热搜,JF22风洞都有啥用?8月23日,我国JF22超高速风洞的相关建设消息在当天登上热搜。而据央视军事8月23日的报道,JF22作为我国目前正在攻关中的最先进的风洞,预计将会在2022年完成建设投入使用。而日本投降后,国民党当局为何放弃在日本驻军?这背后隐藏什么秘密作为中国的近邻,中日之间的关系可谓是一言难尽!而近期,日方与美国之间加速串联,屡屡对话挑衅。而每当此时,有很多人都会谈论二战结束后,国民政府本有机会进驻日本本土,但最终却未能成行!