代码精进之路读后感(一)

2023-10-18 01:10
文章标签 代码 读后感 精进

本文主要是介绍代码精进之路读后感(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近开始看范学雷老师写的代码精进之路,看了第一篇之后就觉得非常值得学习,所以特意记录一下

 (我去,咋把点击查看原网页搞上了,无所谓了,你尽管点,能点进去算我输)

 第一篇论述的从条件运算符入手来讲什么是好代码,其实在工作中,我个人还是很钟意用条件运算符,因为从学习条件运算符那一天开始我就觉得这个看上去比ifelse精简多了,所以之后就一直在用,但是今天看完第一篇文章之后,我对三元运算符又有了新的认识。

 举一个小例子,在工作中我最常用的条件运算符

a==b?c:d

  类似于这种,感觉看上去比ifelse要简洁很多,但是今天范老师给了一个例子

return x >= 90 ? "A" : x >= 80 ? "B" : x >= 70 ? "C" : x >= 60 ? "D" : "E";

  恐怖不恐怖,如果你不是有一双钛合金狗眼,这里面的逻辑怕不是要用笔来画画才能捋清

   

那这个样子就不如我们来使用ifelse了,虽然代码看上去会多一点,但是便于理解啊,起码能直接看清楚逻辑

而且范老师还有一个观点是非常值得学习的,坚持使⽤最直观的编码⽅式,⽽不是追求代码简短

其实我过去还是很追求代码的简短,能用一行代码实现的操作绝对不用两行,其实现在想想很是很年轻啊,举个直观的例子,之前写代码的时候,写的时候只有我和上帝知道是什么意思,人家都说不出半月,就只有上帝知道代码的意思了,我只能说太天真了,我忘记自己的代码和鱼一样,七秒足矣,所以范老师这个观点直接捅我心窝子里去了。

当我们写代码的时候不能盲目的追求简短,在能直观的看懂逻辑的前提下适量的简短代码挺好的,but不管三七二十一,只为了简短代码而疯狂的精简,而不考虑别人能不能直观的看懂精简后的代码,我只能送你一句话,少侠练个铁布衫吧,防止被同事怼死

 

 减少错误、节省时间,是我们现在选择编码⽅式的⼀个最基本的原则

作为一名合格的bug制造者,我想减少bug节约时间的重要性不必多言了,谁还没有被老大怼着喷的经历,所以加快开发节奏减少被喷的概率是我们必然要去追求的事情

当做一个功能的时候我们一定要考虑一下子如何在满足需求的前提下最快的做完!

好的代码又具有一下特点:

    1. 容易理解;

    2. 没有明显的安全问题

    3. 能够满⾜最关键的需求

    4. 有充分的注释;

    5. 使⽤规范的命名;

    6. 经过充分的测试

坏的代码的特征

    1. 难以阅读的代码;

    2. 浪费⼤量计算机资源的代码;

    3. 代码⻛格混乱的代码;

    4. 复杂的、不直观的代码;

    5. 没有经过适当测试的

我们在开发中尽量写一些好的代码,这样后期维护起来也舒舒服服

 

文中还有一个非常棒的观点:最适合当前现实环境的代码,才是最优秀的代码

例如一个创业型的公司在经济实力人力资源都有限的前提下盲目的照搬大公司的成熟的软件开发流程的,这样有大概率会浪费时间和资金而没有相应的结果。

最后总结一下子,优秀的代码需要具备三个特征: 经济、规范、安全

经济,规范前面都说了一下一下,这个安全是啥子回事。安全还有我说?信不信我锤你啵,你想刚搞好一个系统刚上线,公司正在美滋滋使用,蜜月期还没过,就被人干掉了,就跟刚结婚没多久,媳妇被人拐跑了,这谁能受得了,所以说安全也是很重要的,起码你得保护好自己的媳妇吧

 

转载于:https://www.cnblogs.com/suihang/p/10595715.html

这篇关于代码精进之路读后感(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/229189

相关文章

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

poj 1258 Agri-Net(最小生成树模板代码)

感觉用这题来当模板更适合。 题意就是给你邻接矩阵求最小生成树啦。~ prim代码:效率很高。172k...0ms。 #include<stdio.h>#include<algorithm>using namespace std;const int MaxN = 101;const int INF = 0x3f3f3f3f;int g[MaxN][MaxN];int n

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

代码随想录冲冲冲 Day39 动态规划Part7

198. 打家劫舍 dp数组的意义是在第i位的时候偷的最大钱数是多少 如果nums的size为0 总价值当然就是0 如果nums的size为1 总价值是nums[0] 遍历顺序就是从小到大遍历 之后是递推公式 对于dp[i]的最大价值来说有两种可能 1.偷第i个 那么最大价值就是dp[i-2]+nums[i] 2.不偷第i个 那么价值就是dp[i-1] 之后取这两个的最大值就是d

pip-tools:打造可重复、可控的 Python 开发环境,解决依赖关系,让代码更稳定

在 Python 开发中,管理依赖关系是一项繁琐且容易出错的任务。手动更新依赖版本、处理冲突、确保一致性等等,都可能让开发者感到头疼。而 pip-tools 为开发者提供了一套稳定可靠的解决方案。 什么是 pip-tools? pip-tools 是一组命令行工具,旨在简化 Python 依赖关系的管理,确保项目环境的稳定性和可重复性。它主要包含两个核心工具:pip-compile 和 pip

D4代码AC集

贪心问题解决的步骤: (局部贪心能导致全局贪心)    1.确定贪心策略    2.验证贪心策略是否正确 排队接水 #include<bits/stdc++.h>using namespace std;int main(){int w,n,a[32000];cin>>w>>n;for(int i=1;i<=n;i++){cin>>a[i];}sort(a+1,a+n+1);int i=1

html css jquery选项卡 代码练习小项目

在学习 html 和 css jquery 结合使用的时候 做好是能尝试做一些简单的小功能,来提高自己的 逻辑能力,熟悉代码的编写语法 下面分享一段代码 使用html css jquery选项卡 代码练习 <div class="box"><dl class="tab"><dd class="active">手机</dd><dd>家电</dd><dd>服装</dd><dd>数码</dd><dd

生信代码入门:从零开始掌握生物信息学编程技能

少走弯路,高效分析;了解生信云,访问 【生信圆桌x生信专用云服务器】 : www.tebteb.cc 介绍 生物信息学是一个高度跨学科的领域,结合了生物学、计算机科学和统计学。随着高通量测序技术的发展,海量的生物数据需要通过编程来进行处理和分析。因此,掌握生信编程技能,成为每一个生物信息学研究者的必备能力。 生信代码入门,旨在帮助初学者从零开始学习生物信息学中的编程基础。通过学习常用

husky 工具配置代码检查工作流:提交代码至仓库前做代码检查

提示:这篇博客以我前两篇博客作为先修知识,请大家先去看看我前两篇博客 博客指路:前端 ESlint 代码规范及修复代码规范错误-CSDN博客前端 Vue3 项目开发—— ESLint & prettier 配置代码风格-CSDN博客 husky 工具配置代码检查工作流的作用 在工作中,我们经常需要将写好的代码提交至代码仓库 但是由于程序员疏忽而将不规范的代码提交至仓库,显然是不合理的 所

Unity3D自带Mouse Look鼠标视角代码解析。

Unity3D自带Mouse Look鼠标视角代码解析。 代码块 代码块语法遵循标准markdown代码,例如: using UnityEngine;using System.Collections;/// MouseLook rotates the transform based on the mouse delta./// Minimum and Maximum values can