首页 > 其他分享 >《代码大全》阅读笔记5

《代码大全》阅读笔记5

时间:2023-10-16 22:59:07浏览次数:31  
标签:需求 当人 机器 代码 编程 笔记 程序员 大全

在阅读完这本书后,我从书中收获到了很多,
永远以解决问题为导向,而不是仅仅完成任务。这一条的内容非常广泛,从最低级的写好一个功能,
到给具体的需求排优先级,甚至到明确真正的需求,到调整开发节奏,一切都由实际的需求和开发能力决定,
最终的目的只有一个,那就是解决真正的问题;
把程序员当人看,不仅仅是把其他同事当人看,也要把自己当人看。人是会出错的,团队是需要磨合的,
人永远不能跟机器比运行效率,但人比机器更有创造性。
写代码永远优先保证其他程序员能看懂,机器不在意代码有多难懂,对它而言,写的格式再差、写的效率再低,
机器都能运行——但是其他的程序员(包括过上半个月一个月的你自己)不能;
反复迭代和尝试,在实际情况下,人往往做不到一次就成功,即使一次就成功,那也未必是最优的,
一定要多进行迭代和尝试,才能获得最优的效果。
保持清晰的思路,只有在清晰的思路下,才能理解问题理解代码——如果你已经无法保持清晰的思路,
那么还不如先放松一下,让大脑冷静下来,然后完成更高的质量。
犯错不是罪过,从中学不到什么才是罪过。
在调试过程,设定时间,如果超过这个时间,就暂停或者放弃调错过程。知道何时放弃很难,但这是必须面对的问题。
与其它行业相比,软件开发行业的经验比书本知识的价值要小。
编程工作本质上是项无法监督的工作,因为没人清楚你正在干什么。
承认自己智力有限并通过学习来弥补,你会成为更好的程序员。
程序员都是大忙人,常常没有时间去考虑怎样改进自己的工作。
开发过程能够帮助客户更好地理解自己的需求,这是需求变更的主要来源。
如果你不能向一个六岁小孩解释某件事,那么你自己就没有真正理解它。
如果你熟悉数据库术语的话,类与对象的关系就如同“模式”与“实例”一样。
抽象可以让你用一种简化的观点来考虑复杂的概念。
伪代码编程过程,这种编程过程有助于减少设计和编写文档所需的工作量,同时提高这两项工作的质量。
不合理地初始化数据是产生编程错误的常见根源之一。
测试先行的编程是过去十年中所形成的最有用的软件开发实践之一。
如果一个错误无法重现,这通常是一个初始化的错误,或者是一个同时间有关的问题,或者是悬空指针的问题。
可以在程序执行开始的时候算出一张查询表,在之后每次需要的时候使用这一表格。
有效编程中最重要的工作是思考,而人思考时通常不会看上去很忙。
以新习惯来代替老习惯,要比干脆戒掉老习惯容易。

标签:需求,当人,机器,代码,编程,笔记,程序员,大全
From: https://www.cnblogs.com/-GYP/p/17768606.html

相关文章

  • R语言使用Metropolis-Hastings采样算法自适应贝叶斯估计与可视化|附代码数据
    原文链接:http://tecdat.cn/?p=19889原文出处:拓端数据部落公众号 最近我们被客户要求撰写关于Metropolis-Hastings采样的研究报告,包括一些图形和统计输出。如果您可以写出模型的似然函数,则 Metropolis-Hastings算法可以负责其余部分(即MCMC)。我写了r代码来简化对任意模型的后......
  • R语言和Python用泊松过程扩展:霍克斯过程Hawkes Processes分析比特币交易数据订单到达
    全文下载链接:http://tecdat.cn/?p=25880 最近我们被客户要求撰写关于泊松过程的研究报告,包括一些图形和统计输出。本文描述了一个模型,该模型解释了交易的聚集到达,并展示了如何将其应用于比特币交易数据。这是很有趣的,原因很多。例如,对于交易来说,能够预测在短期内是否有更多的买......
  • vs code出现preLaunchTask已终止,退出代码为1以及无法控制台输入的解决办法汇总
    可以参考如下几篇博客:控制台无法输入:VSCode控制台不能输入解决办法_vscode控制台无法输入-CSDN博客vscode出现preLaunchTask已终止,退出代码为1:vscode配置c/c++编译环境(最终解决办法)_未配置编译器。除非设置自己的配置,否则intellisense可能无法正常工作。-CSDN博客上面......
  • 代码随想训练营第三天(Python) | 203.移除链表元素、707.设计链表、206.反转链表
    一、203.移除链表元素关键点:如何删除节点,需要知道删除节点前的节点。1、无虚拟头节点的方法classSolution:defremoveElements(self,head:Optional[ListNode],val:int)->Optional[ListNode]:whilehead!=Noneandhead.val==val:#如果头节点的值......
  • boot驱动模型中的常用API--Apple的学习笔记
    一,前言之前解决ping问题的过程中,需要看uboot的代码,感觉看起来很轻松,我一直觉得代码写的小学生都能看懂的,这才是高手写的代码。面向对象设计的好,封装做的也好。虽然和qemu的Qobject设计雷同,但是我又手痒想画图了。二,学习1,uclass_find(id)根据uclassid来找uclass。在gd->uclass_roo......
  • 【漏洞复现】Apache RocketMQ 代码注入漏洞(CVE-2023-37582)
    产品介绍ApacheRocketMQ是美国阿帕奇(Apache)基金会的一款轻量级的数据处理平台和消息传递引擎。漏洞概述ApacheRocketMQ存在代码注入漏洞,该漏洞源于当NameServer地址在外网泄露且缺乏权限验证时,NameServer组件仍然存在远程命令执行漏洞,在RocketMQ5.1.0及以下版本,在一定......
  • 终止代码: CRITICAL STRUCTURE CORRUPTION,Win10蓝屏处理
    出现这个蓝屏代码通常情况下是系统内核文件缺失可以使用以下代码进行修复SFC/scannowDISM.exe/Online/Cleanup-image/ScanhealthDISM.exe/Online/Cleanup-image/Restorehealth......
  • P7914 做题笔记
    题目链接CSP考前做下历年真题。转移很多,我刚开始设$dp1[i][j]$为$i$到$j$合法的方案数,$dp2[i][j]$为左边一段$*$,右边是合法的方案数,以及$dp3[i][j]$,右边是$*$,左边合法。然后就进坑了,比如$()()()$,会在第二个位置统计一下,(两个合法的字符串拼起来)也会在第四个位置统计......
  • 【Unity代码片段】Unity在Unity中显示帧率
    在Unity中显示帧率1.将脚本挂在于一个物体,2.为FPS赋值一个UnityEngine.UI.Texttext运行即可FrameUpdata是帧数的在UI上的更新速度。usingUnityEngine;usingUnityEngine.UI;///<summary>SimpleFPS-Counter.</summary>[DisallowMultipleComponent]public......
  • 2023/10/16 学习笔记
    网络层协议与解析网络层的功能: 定义了基于IP协议的逻辑地址  连接不同的媒介类型 选择数据通过网络的最佳路径IP数据包格式: 注解:版本(4) 指IP协议版本。并且通过双方使用的版本必须一致,目前我们使用的是ipv4,表示为0100十进制是4首部长度(4) IP数据包的包头长......