从小工到专家 第四章注重实效的偏执 读后感

news/2024/11/30 12:32:00/文章来源:https://www.cnblogs.com/66666-stars/p/18578287
  1. 注重实效的心态
    不要追求完美,追求足够好:这一章的核心思想是,程序员应该具备一种“注重实效的偏执”心态。作者认为,过度追求完美可能会导致项目进度拖延,甚至无法完成。相反,程序员应该专注于解决问题,确保代码能够满足当前的需求,而不是为了未来可能不会发生的情况做过多的优化。
    YAGNI原则(You Aren't Gonna Need It):YAGNI 是一个重要的编程原则,意思是“你不会需要它”。作者建议程序员不要为未来可能的功能做过多的设计和实现,而是专注于当前的需求。过早的优化和设计往往会增加代码的复杂性,反而降低了可维护性。
  2. 代码的可读性和简洁性
    代码是写给人看的:作者强调,代码不仅仅是写给计算机执行的,更重要的是写给人阅读的。因此,程序员应该注重代码的可读性和简洁性,避免过度复杂的逻辑和难以理解的命名。清晰的注释、合理的函数命名和模块划分都可以提高代码的可读性。
    DRY原则(Don't Repeat Yourself):DRY 是另一个重要的编程原则,意思是“不要重复自己”。作者建议程序员尽量避免重复代码,可以通过抽象、封装和重用来减少冗余。重复的代码不仅增加了维护成本,还容易引入错误。
  3. 快速反馈循环
    尽早发现问题:作者提倡建立快速反馈循环,以便尽早发现和解决问题。通过频繁的代码审查、自动化测试和持续集成,你可以及时发现潜在的问题,避免它们积累到后期变得难以解决。
    小步快跑:作者建议程序员采用“小步快跑”的开发方式,即每次只做少量的改动,并尽快将其集成到主分支中。这样可以减少代码冲突,降低风险,并且更容易回滚到稳定的状态。
  4. 拥抱变化
    灵活性优于僵化:作者认为,软件开发是一个不断变化的过程,程序员应该具备灵活应对变化的能力。过于僵化的架构和设计可能会限制系统的扩展性和适应性,因此,程序员应该设计出易于修改和扩展的系统。
    重构:重构是保持代码健康的重要手段。作者建议程序员定期对代码进行重构,消除技术债务,优化代码结构。通过重构,你可以提高代码的可维护性和性能,同时避免陷入“大重构”的陷阱。
  5. 注重安全性和稳定性
    防御性编程:作者强调了防御性编程的重要性。程序员应该假设输入可能是错误的,外部系统可能会失败,网络连接可能会中断。通过编写健壮的代码,处理异常情况,你可以提高系统的稳定性和安全性。
    最小权限原则:在编写代码时,尽量遵循最小权限原则,即只授予程序所需的最低权限。这可以减少潜在的安全漏洞,防止恶意攻击者利用权限漏洞进行攻击。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/844106.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

D触发器

一、D触发器原理D触发器(data flip-flop)也称为维持-阻塞边沿D触发器,由六个与非门组成,其电路图及其逻辑符号如下图所示。其中G1和G2构成基本的RS触发器,G3和G4构成时钟控制电路,G5和G6组成数据输入电路。 二、D触发器原理- -钟控D触发器在分析维持-阻塞边沿D触发器的工作…

idea 2024.2切换到旧版的UI

安装官方的 Classic UI 插件。 步骤:File -> Settings -> Plugins ,搜索 Classic UI 安装即可。

基于Ubuntu2410搭建openstack-D版

@目录初始化环境安装数据库、memcahe、rabbitmq等服务安装keystone服务安装glance服务安装placement服务安装nova服务安装neutron服务安装horizon服务启动云主机 本次实验使用单节点搭建,Ubuntu2410系统:搭建openstack-D版,采用ovs网络组件,最终创建云主机,并实现远程连接…

快速安装 Qt 的各种方法

1 在 Windows 下快速安装 Qt 由于QT的服务器在国外,而国内通国外的网络往往不够流畅,因此在下载QT时我们经常会出现下载中断的问题。一个好的解决办法是在安装程序时替换下载源,下面我以中科大源为例子,替换QT的下载源。 1.1 下载 Qt 安装器 首先点击 download-open-source…

Typora配置导出word

下载“pandoc”,解压文件,配置路径即可。下载连接: 阿里云盘 https://www.alipan.com/s/YDaia5u8MRs 提取码: 67ur

从Delphi到Lazarus——Lazarus开发环境使用入门教程

0.前言 曾经有过更换开发环境体验的编程爱好者都会有同样的感受:打开新更换的开发环境后,看到陌生的界面无从下手。想写一段小程序试一试,却你找不到自己需要的组件在哪里。 其实,我们每到一个新地方,首先要找点资料熟悉周围的环境。编写程序也是这样,使用一个新的开发环…

CV总结之边缘检测

边缘检测 常见算子 边缘检测是图像处理和计算机视觉中的一个基本任务,目的是识别图像中物体的边界。边缘是图像中亮度变化显著的区域,通常标志着物体、表面或形状的边界。边缘检测对于后续的图像分析任务,如特征提取、目标识别和图像分割等,都是非常重要的。 常见边缘检测算…

C# mvc +axios + web api + javascript

2024年,是Insus.NET生命中转折的一年,许久没有更新博客了。许多网友在通讯或邮件私聊,希望在博客上更新内容,分享一些技能与通用的博文。回归正题,在C# mvc使用javascript axios访问web api。 在ms sql server创建数据表 存储过程... C# MVC程序与数据库交互,创建entit…

cron: 如何使用Cron表达式配置定时任务

Cron表达式用于设置定时任务,无论是在Linux的Crontab中,还是在各种语言开发的程序中都有应用,它提供了一种强大而灵活的方法来设定定时任务。 Cron表达式语法 Cron表达式是一种字符串格式,标准的Cron表达式是由五部分组成,分别表示,分钟、小时、日期、月份和星期几。这个…

[C++][MSVC][Error] 检测到 RuntimeLibrary 的不匹配项: 值 MT_StaticRelease 不匹配值 MD_DynamicRelease

1 简介 本文将介绍在 C++ 编程中使用 MSVC 编译器时可能遇到的错误:检测到 RuntimeLibrary 的不匹配项:值 MT_StaticRelease 不匹配值 MD_DynamicRelease。该错误通常是由于编译器和链接器之间的设置不一致引起的。 2 VisualStudio环境 在 MSVC 工程上右键->属性,找到配置…

ChatRoom pg walkthrough Intermediate

NMAP ┌──(root㉿kali)-[~/lab] └─# nmap -p- -A 192.168.189.110 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-11-30 00:22 UTC Nmap scan report for 192.168.189.110 Host is up (0.073s latency). Not shown: 65533 filtered tcp ports (no-response) PORT …

vxe-table 树形表格的用法详解

vxe-table 树形表格的使用,支持多种数据结构,可以是带有父子结构的数组,也可以带有层级结构的嵌套数据。 官网:https://vxetable.cn Gitee 带有父子结构的平级数据 只需要带有父子结构的平级数据,例如:id 和 parentId,字段名可以任意设置。对于保存到数据库的平级数据非…