程序员最头疼的七件事

ThreadXUserGuide-中文手册.pdf ThreadX是优秀的硬实时操作系统(RTOS),适用于深嵌入式应用中,和许多其他实时操作系统类似,ThreadX是多任务系统,采用抢占式调度,快速的中断响应,独立内存管理,支持线程间通信,互斥,事件和线程同步。 ThreadX主要的特点是支持优先级继承,抢占阈值的设计,微内核设计,代码空间占用小等。ThreadX源代码采用免版税使用模式(royalty-free)。 立即下载

640?wx_fmt=jpeg


懂点技术,瞎指挥

有人说不懂技术的瞎指挥很可怕,我倒是觉得懂点技术,然后指手画脚更可怕!

有个国企的项目,甲方负责人李总是个局里的二把手,不知道什么时候了解了一点编程的技术, 每次开需求会都是和我们大谈如何开发软件,他的口头禅就是: 这个需求,用个SQL从数据库一选不就出来了?!你们怎么得开发一周?!别想蒙我!

唉,他怎么能考虑到用SQL的like是效率极低的, 数据量大了是要崩溃的,我们得建立全文索引,需要用一套基于搜索的解决方案才行。 

甲方的技术实力看起来这么“强悍”, 不懂技术的乙方负责人只好和稀泥:我们回去再评估一下。

懂技术的程序员在下面大眼瞪小眼。 

代码都写玩完了,需求变了

这一点我不想多说,相信大家都深有体会。

虽然敏捷软件开发的方式对这个问题有一定的改善,但是无法根治,尤其是当客户觉得这个东西就是好,一定要实现的时候,程序员基本上是无能为力的。

必须得改! 不想改? 还想不想干了!

任务时间估算

我工作了这么多年了,遇到任务的时间估算,或者项目的工期估算还是头疼。

主要有两方面原因,一个是内因,即软件固有的复杂性,软件工程发展了这么多年,我们努力地让系统的各个模块独立,关注点分离,高内聚,低耦合。 

但是还是没有办法像搭积木那样去开发软件。很多细节纠缠在一起,难以准确估算。还有一个很大的风险是:一个你预料不到的,很小的问题就能把你死死地拖住,让你耗费大量的精力。

另外一个原因就是外因,人和项目的因素。你把任务时间估算得多了,有人会挑战你,怎么需要这么长时间?  估算的少了,自己就默默加班忍受吧。

如果是项目倒逼工期,那任务估算就是一个摆设了。

到客户那儿去演示

为了做好一个演示,在公司把系统调试了很多遍,把演示的步骤一步步都准备好了,到了客户那里,可能是手贱点了一个什么东西,然后,系统崩溃了,演示进展不下去了。

经历过两次这样的事情后,每次演示我都变得战战兢兢,如履薄冰,不敢越雷池一步,严格按照脚本来走。

现场演示一个不成熟的产品确实是让人挺崩溃的事情。写到这儿,我不由得想起来老罗在台上满头大汗地演示TNT的场面...... 

写文档

代码好不容易写完了,刚刚喘口气,准备开始下一个工作,领导说,把文档也补一下,接口参数的含义都写上 ,程序员心里通常都会不爽,有所抵触,结果就是草草地写个文档出来。

为什么这样呢,因为实现功能的那些代码才是体现自己价值的,能够赚钱的工作,文档看起来只是附加品而已。工作做完了,谁愿意多干活呢?再说了,工作量估算的时候把写文档时间算进去了吗? 你都不给我时间,现在还让我写,不是让我加班吗?

如果想把工作做得漂漂亮亮,既有优雅的代码,又有完善的文档,必须得给文档工作留出时间才行。

修改遗留多年的代码

为了实现一个新功能,我得修改六七个文件,其中包括一个长达5000行的JSP,三个500行的函数,2个没人问津的存储过程,做这一切的时候,还得小心翼翼地不能破坏老功能,此中酸爽滋味,不知道别的行业能否体会得到?

你说这遗留代码烂吧,但是人家可以工作,你想重写吧,一是没有时间,二是重写了能保证每个犄角旮旯的业务点都覆盖吗? 所以只能采用渐进重构的道路,慢慢地把他改好。 

能够从头开启一个新项目的同学,还是挺幸福的,好好珍惜吧。

Bug不可(难以)重现

人世间最痛苦的事就是明明有个Bug在我的眼前,我却无法重现它。 

四五年前,我们有个运行良好的应用突然出了状况,一到下午两点左右就会毫无征兆地崩溃,查看了日志,根本没有报任何错误。在测试环境中想尽了一切办法进行模拟,总是无法重现。 

这样的现象持续了一个多月,感觉就要绝望的时候发现了蛛丝马迹,北京时间的下午两点,是意大利的早上8点,那个时候,意大利的用户会登录系统,有些特殊属性的用户做了一个操作,触发了一个年久失修,普通用户根本走不到的代码分支,导致系统直接退出。

只用一行代码就Fix了这个Bug,但是重现的过程竟然长达一个多月!

(完)

码农翻身,用故事讲解技术本质, 更多精彩文章,请移步《码农翻身三年文章精华》


SSD性能测试进阶:用fio的io_uring引擎榨干你的NVMe硬盘 本文深入探讨了如何利用fio的io_uring引擎对NVMe SSD进行深度性能测试。通过对比传统libaio引擎,详解了io_uring低开销、高并发的优势。文章提供了从测试矩阵设计、队列深度分析到写入放大观察和尾延迟可视化的完整进阶方法,并附有实战案例与脚本,旨在帮助用户科学压榨NVMe硬盘的极限性能,获取更真实的评估数据。 阅读详情

相关推荐

Human3.6M 数据集介绍及下载

360 万张 3D 人体姿势和对应图像11 名专业演员(6 男 5 女)7 个场景(讨论、吸烟、拍照以及打电话等等)

XavierJ的博客 3万+

程序员头疼的 4 种原因

公众号关注「奇妙的 Linux 世界」设为「星标」,每天带你玩转 Linux !最近,我们建立了一个技术交流微信群。目前群里已加入了不少行业内的大神,有兴趣的同学可以加入和我们一起交流技术,在「奇妙的 Linux 世界」公众号直接回复「加群」邀请你入群。你可能还喜欢点击下方图片即可阅读三分钟读懂元宇宙点击上方图片,『美团|饿了么』大额外卖红包天天免费领更多有趣的互联网新鲜事,关注「奇妙的...

easylife206的专栏 622

密码学小白必看:三大顶级会议论文下载与阅读指南(附完整资源链接)

本文为密码学初学者提供了系统获取和阅读三大顶级会议(Crypto、Eurocrypt、Asiacrypt)论文的实战指南。详细介绍了通过IACR官方渠道、ePrint预印本等权威资源免费下载论文的方法,并分享了高效筛选、精读核心章节及构建个人知识体系的具体策略,帮助读者快速切入密码学研究前沿。

weixin_28363123的博客 411

做程序员头疼怎么办?

Small tips as follows:1.沿着头骨的部位,耸耸疼痛的肌肉,就能放松颈部肌肉并使神经系统平静。做法是:站立或坐下,放松你的身体,然后吸气并伸展你的双肩。尽量使双肩向耳部靠拢,保持两秒钟,呼气放松,重复三次。  2.拥有节奏的呼吸来缓解自己。当我们感觉有压力时,身体中的二氧化碳水平会上升。这时用浅呼吸就能扩张头部的血管,从而缓解疼痛。做法是:用鼻子吸气时数到5,用嘴呼气时再数...

weixin_30659829的博客 433

交换机基本介绍(分类、性能指标、硬件构成及工作方式)

一、交换机的分类与性能指标 1.1交换机的分类 按照网络构成方式来分的话,交换机分为三类:接入层交换机、汇聚层交换机和核心层交换机。 按照OSI模型来划分的话,分为:二层交换机、三层交换机和四层交换机 还有一种按照硬件形态来划分,可以分成两类:盒式交换机和机框式交换机。 盒式交换机是一种有固定端口数,有时也会带有少量扩展槽的交换机。机架式交换机是一种插槽式的交换机,这种交换机扩展性较好,可支持不同的网络类型,可支持更大端口密度的网络。一般在数据中心的接入层都会采用盒式交换机,盒式...

monologuezjp的博客 4万+

从传统业务到 AI Skill:产品经理也能看懂的能力改造指南(含完整案例)

从传统业务到 AI Skill:产品经理也能看懂的能力改造指南(含完整案例)

专注于编程、AI、人工智能等多个领域内容研究和分析 643

程序员头疼的4种原因

网友评论 @0DEFACED:不不不,有时候阅读几个月前甚至几周前自己写的代码也会是右下那样@狂奔文化:最后一种是无极之痛,乃痛中之痛@Bull-head:没有文档没有注...

iOS_开发 1568

华为OD新系统机试真题-文章特征提取

华为OD机试新系统真题 【文章特征提取】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD新系统机试真题【文章特征提取】

qq_45776114的博客 733

趣图:程序员头疼的 4 种原因

(点击上方公众号,可快速关注)程序员头疼的 4 种原因↓↓↓推荐趣图(点击图片可跳转阅读)关注「程序员的那些事」每天看 IT 趣图↓↓↓ ...

程序员的那些事 1634

SY6982C 7.4V锂电池1A充电模块原理图设计,已量产

在手持设备、便携工具与小型无人机等场景中,7.4V(2S)锂聚合物电池的应用愈发广泛。这类电池对充电系统的安全性、效率与兼容性提出了明确要求:需支持 USB 5V 输入、1A 安全充电,同时具备多重保护机制。本文将结合一款基于 SY6982C 的充电原理图,深入解析其电路设计与技术亮点。

不脱发的程序猿 363

为什么先进工艺需要check那么多corner?

那么hold slack = launch clock path delay + data path delay - capture_clock_path_delay = -capture_clock_path_delay,也就是说,capture clock path delay越大,hold越难满足。而且,我们在设计的时候,一般clock频率都会过约,所以是有较大的margin的。有的foundry还会对rc的取值范围进行了约束,如cworst_T,采用的是1.5 sigma的取值范围。

芯冰乐 2088

程序员头疼的 4 种类型,你 99% 中枪了

。

程序员之家 1774

从LLM到VLM再到VLA:三兄弟的“变形记”——定义、架构演进与最新趋同

LLM、VLM、VLA虽然在时间上依次出现,但它们在架构上的演进并非线性替代,而是形成了一个从“理解语言”到“理解世界”再到“改变世界”的认知闭环。VLA之所以能在短短三年内从概念走向现实,正是因为它站在了LLM和VLM的肩膀上——RT-2的泛化能力来自互联网规模的VLM预训练,π0的扩散策略受益于生成式模型的突破,Helix的双系统架构借鉴了“快慢思考”的认知科学洞见。而反过来,VLA在实际部署中遇到的效率瓶颈和实时性要求,也在倒逼LLM和VLM向更轻量、更高效的架构方向演进。

Ven%的博客 493

企业AI转型的七项挑战:从数据治理到组织变革的实战指南

人工智能(AI)作为驱动数字化转型的核心技术,其原理是通过算法模型从海量数据中学习规律,实现预测、决策与自动化。这一技术价值在于显著提升运营效率、优化决策质量并催生创新业务模式,广泛应用于智能制造、金融服务、客户服务等场景。然而,企业落地AI时,常面临数据质量与治理的严峻挑战,低质数据会导致模型决策偏差被指数级放大。同时,组织变革的阵痛往往远超技术变革本身,涉及流程重组、技能重塑与文化冲突。本文聚焦于AI原生应用与企业现实融合过程中的关键瓶颈,探讨如何构建可持续的AI能力体系。

weixin_29839415的博客 336

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

程序员常犯病--偏头痛自疗方法

  搞技术的。经常会头疼是很正常。如果严重者还会有偏头疼。最近我也疼。特上网找了点自疗方法. 偏头痛是一种阵发性半侧头痛,一次发作会折磨患者几个小时,严重的偏头痛患者还可能导致积蓄性大脑损害,因此,经常患偏头痛会导致思维能力下降,反应迟钝.治疗偏头痛有以下几种方法:   揉太阳穴 每天清晨醒来后和晚上临睡以前,用双手中指按太阳穴转圈揉动,先顺揉七至八圈,再倒揉七至八圈,反复几次,连续数日,偏头

沈逸的IT专栏---shenyisyn 9071

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

趣图:程序员头疼的 4 种类型,你 99% 中枪了

(点击上方公众号,可快速关注) 程序员头疼的 4 种类型,你 99% 中枪了 ↓↓↓ 关注「程序员的那些事」 每天看 IT 趣图 ↓↓↓

程序员的那些事 1182

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

程序员们最恐惧的“代码”,一见就头疼,是老前辈留下来的代码!

t行业是目前最赚钱的行业,程序员是目前最赚钱的职业之一,也是最容易过劳死的职业之一。虽然程序员们工资都很高,有的还会赚年薪,但是他们的工作真的是非常辛苦。因为程序员经常会熬夜写代码,在电脑前工作,他们脱发秃头的几率也非常高。由于程序员经常在电脑前努力的编写代码,他们也被大家亲切的称为“码农”,意思是像农民一样勤勤恳恳的在电脑前面码代码。 程序员们夜以继日的和电脑、程序代码打交道,他们之间已经建立了...

AD_plus的博客 2915

30岁的程序员坐的太久,也要用一下脑子

最近,心情不爽,正好工作也快要结束一个段落了。让别人说了一下自己的状态,也看了一下我的状态。 上午空,在优快云和51CTO上逛了一下,看看技术,又看看别人的程序员生涯。下午空,看了一下博客园的程序员生涯。 C#的大公司用的越来越少了。你还只会这个自己不太精通的C#,把自己的路走的越来越窄。 第一次听说Android开发IDE: IntelliJ IDEA  如何把修改自

bigsnow的专栏 1982

程序员容易犯的偏头痛自疗法

搞技术的。经常会头疼是很正常。如果严重者还会有偏头疼。最近我也疼。特上网找了点自疗方法. 偏头痛是一种阵发性半侧头痛,一次发作会折磨患者几个小时,严重的偏头痛患者还可能导致积蓄性大脑损害,因此,经常患偏头痛会导致思维能力下降,反应迟钝.治疗偏头痛有以下几种方法: 揉太阳穴 每天清晨醒来后和晚上临睡以前,用双手中指按太阳穴转圈揉动,先顺揉七至八圈,再倒揉七至八圈,反复几次,连续数...

sliver08 417

最让IT技术支持人员头痛的10件事

我们每个人的工作环境都不同,我们在不同的行业工作,我们所处的部门有不同的部门结构,不同的设施配置、面向的也是不同的用户。但是,作为技术支持人员,我们有着共同的目标,那就是让人和电脑能够和谐的共 处。   在过去的多年当中,我曾经在很多个行业工作过,从商用飞机制造业到管理咨询业,从化学厂到制陶厂。尽管在不同工作环境当中,硬件、软件和人力的配置都不一样,但是所遇到的那些让你感到气恼的事情却总是相同的。

edwardqiu的专栏 1万+

当你成为程序员后,让你最头疼的9件事是什么?

在外行人眼里,软件开发工作就跟看天书一样难——但是程序员往往会一脸苦哈哈地表示“还有更难的呢!”最近在一个讨论中,小编总结了9件最让程序员糟心的事——简直就是分分钟精神分裂啊!!! 9、设计解决方案   任务:给出一系列要求,设计出可实施的方案,包括设计数据和代码结构、功能算法和应用程序流程。   难点:确保你设计的解决方案得满足客户的要求,并且按时完成。   网友的话: “如何始于此终于彼可谓是最难的部分了。” “过于臃肿的设计会崩溃,过于浅薄则没有用。” “不去一个个试一试,就不知道

HUYA69的博客 1269
上一篇: 我从容器来
下一篇: 什么样的 GitHub 才适合放简历上?
码农翻身
码农翻身 《码农翻身》作者 《码农翻身》作者
博客等级 码龄8年 3万+粉丝 1084原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值