成为伟大开发者的“九步曲”

用 PERFORM ... ON COMMIT / ON ROLLBACK 把收尾工作做干净:从 SAP LUW 到 Update Task 的事务钩子实践 ABAP事务钩子机制解析 本文深入探讨SAP ABAP开发中的事务边界管理问题,重点分析PERFORM ... ON COMMIT/ROLLBACK机制: 事务分层:区分Database LUW(数据库提交)和SAP LUW(业务逻辑单元),后者通过COMMIT WORK触发多种收尾动作 钩子机制:PERFORM...ON COMMIT将子程序注册为事务结束回调,在提交/回滚时执行清理工作而非业务更新 执行顺序:钩子程序先于Update Task执行,仍保留当前会话内存上下文 现代实践:建议将FORM仅作为 阅读详情
摘要:作为一名优秀的开发者,应当具备哪些优秀的品质?原文作者Gregor Riegler发表了一篇博文《What makes a great Developer》,文中提到了成就优秀开发者的九大品质包括:激情、好奇心、谦虚、韧劲、一丝不苟等。

如何成为一名优秀的开发者?你觉得自己算是一名优秀的开发者吗?如果是的话,你有没有考虑过,作为一名优秀的开发者,应当具备哪些优秀的品质?原文作者Gregor Riegler 发表了一篇博文《What makes a great Developer》,文中提到了成就优秀开发者的九大品质,译文如下:

一、激情(Passion)


开发者往往会因每一次成功完成任务后而感到欣喜,这是因为当你已经掌握并且拥有智能的解决方案时,这些对你来说都是非常的有利。

编程不只是一份工作,它还是一门艺术、是诗歌。因为激情和动力才成就成功。软件开发行业不仅巨大,而且发展也相当的快速。一名好的开发人员能够跟得上时代的步伐,因为他知道任何事情都可以做得更好。不断学习新的方法,以满足饥渴(意思是学习永无止境)。

二、好奇心(Curiosity)


通常程序是确定的,因为在计算机领域里不存在所谓的事故。每一个结果必定有其原因。一个伟大的开发者不允许有事故发生。这是因为他宁愿搜索和调试众多的软件层,在开发环境中找到原因。正因为如此让他积累了丰富的经验知识,让他更好地理解、阅读并解释应用程序“怪异”的行为。

“The important thing is not to stop questioning. Curiosity has its own        reason for existing.”重要的是不要停止提问。好奇心有它存在的理由。——Albert Einstein

"The most likely way for the world to be destroyed, most experts agree, is by accident. That's where we come in; we're computer professionals. We cause accidents."许多专家认为,导致世界毁灭最可能的原因是意外事件。那正是我们在做的;我们是计算机专业人士,我们正在制造意外事件。——Nathaniel Borenstein

三、认知 (Cognition)


编程是解决问题的行为。问题可以分解成多个组成部分,最终成为一个整体组合在一起。在大脑里寻找问题并作出反应,让它们相互作用这就需要具备真正的技能。

四、一丝不苟(Meticulosity )


编程到处充满着陷进,哪怕只是一个细节也会导致软件开发崩溃。细节就是魔鬼,即使是很小的懒惰也可轻易地摧毁项目。这就是为什么说完美是如此的强大、强调高质量的重要性,直至走向成功。

如果你能容忍第一个缺陷,那么第二个、第三个就会接踵而来,直到最后你得到了一个烂摊子。一名好的开发人员是不会容忍任何缺陷,这就避免了陷进从而提升了项目质量。这就好比一个“        破窗理论”,意思是说一个房子如果窗户破了,没有人去修补,隔不久,其它的窗户也会莫名其妙地被人打破最终导致毁坏了整栋房子。

五、时间(Time)


伟大来源于经验。是的,你可以简单地遵照建议、模式和最佳实践。但这与学识无关,这是由于错误和迭代演变而来的。

六、谦虚(Humbleness )


伟大的开发者知道他所不知道的,并且深知永远都不会知道所有的事情。他要知道,总会有改进的空间,这同样适用于自己的工作,他敢承认自己的错误并接受批判。

七、韧劲(Tenacity)


好的开发者会向解决方案宣战,他会跟其叫板,即使是让他奋斗数小时、一夜、甚至是到天亮。也有的开发者在遇到问题时,第一时间内他不会考虑问题,但是他把这个当做挑战,除非它不是个反模式。来之不易的成功来源于自信。

八、视野(Vision )


在软件开发行业中,开发者经常会在小项目上花费很长时间,虽然很集中,但很容易迷失方向,而忽略对系统其他部分的影响。好的开发者在技能上应该眼观大局,根据现状有预见性地作出判断。

九、懒惰(Lazyness )


这个听来很愚蠢,懒惰应该摆在首要位置,但并非如此,懒惰导致了许多改进。最重要的是懒惰导致了许多自动化。每次当你成功拒绝手动而采用自动,或许你已经获得了改进。

自动化是通向完美无缺、高效及进步的关键。完美无缺,因为理想中的计算机是不会犯任何错误的(并不适用于每个方面),但是人类却容易产生错误。效率,从长远来看这是在投资节约时间。你越早使用自动化,越能节省时间。进步,每一次进步都会给做其它事情留些空间。

好的开发者太懒散以至于:

  • 编写完整的API文档,他让JavaDoc做这项工作;
  • 正确格式化代码,让IDE做这项工作;
  • 一遍一遍地测试功能,他使用单元测试进行自动化;
  • 遇到阅读复杂的方法,所以他利用好的命名编写简短易读的方法;
  • 重复编写同行代码,他需求方法来重构以避免这样呆板的代码,因为他太懒不想重复自己(DRY);
  • 没人要求实现该功能(适可而止_YAGNI原则)
  • 使用位运算和移位做减法运算,保持简单原则(KISS)
  • 让同事帮他别写代码(结对编程)

英文出自:        Babdev

STM32电机PID速度控制 2.3 STM32电机PID速度控制 之前的文章,完成了直流减速电机的PWM控制、电机测速。本篇文章,将实现电机的速度闭环控制。 在公众号:小白学移动机器人,发送:速度PID,即可获得本篇文章的STM32工程文件以及相关资料。 2.3.1 解决的问题 解决带编码器直流电机的速度闭环问题。 2.3.2 PID理论 将偏差的比例、积分、微分,通过线性组合构成控制量,用控制量对被控对象进行控制,这样的控制器称为PID控制器。在连续空间中,我们通常探讨模拟PID的控制原理,如图所示: 我们这里用电机速度控制为例, 阅读详情

相关推荐

【Ragflow】9.问答为什么比搜索响应慢?从源码角度深入分析

前几天看到有群友提到一个现象:Ragflow的搜索界面的问答速度很快,但聊天界面的问答速度很慢,究竟是什么原因?在深入挖掘源码之后,逐渐发现了问题的答案。

兴趣使然的创作者 2907

程序员如何成为自由的独立开发者?

你是不是那个整天坐在电脑前敲代码的程序员朋友?作为程序员,你是否也曾思考过如何成为一名独立开发者?思考过究竟如何踏上这段充满挑战和创造的旅程?现在这个数码时代,技术不断演进,越来越多的程序员朋友跃跃欲试,打算踏上独立开发者的征程。他们想要享受更多的自由,创造更多的机会,不再受制于公司的种种束缚。但是要想成为一名成功的独立开发者,你得掌握一些秘诀和策略,来和小狮妹一起看看吧。第一个秘诀是了解自己的能力范围。在踏上独立开发者之路之前,你必须清楚自己擅长什么,不擅长什么。

2301_78095812的博客 1806

【AAAI 2025】轻量级特征增强新范式!FCM 模块助力小目标检测,即插即用提升模型泛化能力

本文介绍了AAAI 2025提出的轻量级特征增强新范式FCM模块,它通过显式分离并双向交互语义与空间特征,有效解决了小目标检测中特征信息失配的核心难题。该模块设计精巧,计算开销极低,能够即插即用式地嵌入YOLO等主流检测网络,显著提升模型对小目标的泛化检测能力,尤其适用于遥感、自动驾驶等对计算资源敏感的实际场景。

weixin_29056145的博客 291

通过自学成为开发者的 9 种方法

术语“自学”开发人员经常用于指通过阅读书籍、参加在线课程和进行其他类型的独立学习来自学编码/编程的人。由于您不会被老师或教育系统强迫/要求上课,因此这可能是学习如何编程的绝佳方法,因为它为人们提供了自由和灵活性,可以专注于最适合他们的学习方法。自学成才的开发人员可以通过使用各种方法来培养他们的技能,而不仅仅是阅读书籍或观看互联网/youtube 视频。在这篇文章中,我们将探索九种不同的技术——黑客、技巧和窍门,灵感来自现实生活经验!

u013643074的博客 822

SPSS_Process—简单&平行&链式中介模型

本篇文章介绍采用SPSS的插件Process对简单中介、链式中介、平行中介模型进行检验的操作方法及结果解读。

m0_54401011的博客 4万+

手把手教你排查Abaqus中的Johnson-Cook损伤参数:避免因d3正负号导致的仿真失败

本文详细解析了Abaqus中Johnson-Cook损伤参数d3正负号设置的关键问题,帮助用户避免因参数错误导致的仿真失败和Excessive distortion报错。通过对比不同文献定义、提供实操指南和典型错误排查流程,有效提升非线性分析的准确性和效率。

weixin_33960567的博客 356

【项目经验分享】成为一名优秀的开发者需要具备什么?

成为一名优秀的开发者需要具备以下多方面的素质和能力:一、技术能力二、问题解决能力三、项目管理能力四、团队协作能力五、创新能力六、职业道德和素养七、技术领域

源代码杀手的博客 2502

基于ADRC算法的多旋翼飞行器抗扰动控制实践

本文详细介绍了基于ADRC算法的多旋翼飞行器抗扰动控制实践,通过线性扩张状态观测器(LESO)实时估算风力等扰动,实现提前补偿,显著提升飞行稳定性。文章结合具体案例和工程实现技巧,展示了ADRC在突风条件下的优异表现,为无人机控制提供了高效解决方案。

weixin_29284885的博客 193

如何成为一名优秀的全栈开发者

全栈开发是指能够独立完成一个应用程序从前端到后端的所有开发工作。前端开发:HTML、CSS、JavaScript、前端框架(如React、Vue)。后端开发:服务器端编程语言(如Java、Python、Node.js)、数据库设计、API开发。系统架构:微服务、容器化、云服务等。成为一名优秀的全栈开发者需要不断学习和实践。通过掌握前端、后端和系统架构的核心技能,并关注行业趋势,你可以在技术领域不断成长。希望本文能为你的全栈开发之旅提供一些帮助!

wenbin_java的博客 2233

华为产品安全基线

一、敏感信息安全传输 1、采用HTTPS安全协议传输 2、客户端本地保存的敏感信息,需要先加密再保存使用,不可逆支持PBKDF2(迭代10000次)加密保存,可逆支持AES256+IV保存,密钥支持可更新 二、认证鉴权 1、License中心与分析节点分布式部署,需要做用户名+口令安全认证,支持使用HTTPS安全协议。 2、客户端登录支持防暴力破解,支持验证码,多次连续尝试登陆失败后锁定账...

zileixu的博客 1万+

做小程序支付时,我是怎么被“虚拟支付”绊了一跤的

微信小程序支付开发中,普通支付与虚拟支付存在本质差异。开发者常误将虚拟权益(会员、点数等)当作普通商品支付,导致审核失败。两者在审核关注点、结算方式、API调用及平台政策上都截然不同。关键点在于:1)先明确交易对象类型;2)产品命名需真实反映权益性质;3)支付成功≠业务完成;4)审核说明要详细描述交付逻辑;5)避免依赖过时规则。正确顺序应是:判断商品属性→选择支付类型→设计订单系统→准备审核材料。这个认知差异比技术实现更重要,提前理解平台规则可大幅减少返工。

zhurizhe71的学习之路 2588

程序员如何成为一名独立开发者?

这里有一个最简单粗暴的方式让你确定你是否能成为一个独立的开发者。

DEVELOPERAA的博客 1542

利用 RSAU_LOG_API 把 SAP 安全审核日志接入企业 SIEM 的完整指南

在 SAP 世界里,安全审核日志(Security Audit Log,简称 SAL)是审计和合规的核心基础设施之一。系统会在后台把安全相关的关键事件记录下来,比如:(用户登录与登录失败用户锁定、解锁权限对象或角色变更远程调用(RFC)相关活动关键事务码的启动程序直接执行、批处理作业相关的敏感操作传统 ABAP 系统里,这些日志会写到本地应用服务器上的审计文件中(背后对应类似表RSAUENTR2的结构),包含事件标识、客户端、用户、终端、事务码、时间戳等信息。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 164

【营销实战干货:卖点挖掘九步曲】

【营销实战干货:卖点挖掘九步曲】 怎样才能把产品描述得吸引力十足,一个电吹风老板的实战分享: ❶突出买家的诉求; ❷挖掘购买的理由; ❸详解产品的特征; ❹如来购买信心? ❺诱人优惠吸引; ❻紧迫感促成交易; ❼优质的售后服务; ❽差异化对比 ❾情感元素。

心系旭阳 948

android 蓝牙通讯demo

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

老版QQ原生表情gif动态

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

成为伟大开发者‘九步曲’

一、激情(Passion)   开发者往往会因每一次成功完成任务后而感到欣喜,这是因为当你已经掌握并且拥有智能的解决方案时,这些对你来说都是非常的有利。 编程不只是一份工作,它还是一门艺术、是诗歌。因为激情和动力才成就成功。软件开发行业不仅巨大,而且发展也相当的快速。一名好的开发人员能够跟得上时代的步伐,因为他知道任何事情都可以做得更好。不断学习新的方法,以满足饥渴(意思是学

Michael Ran 580

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

IPD需求管理体系‘三阶九步’实战指南

需求管理

产品线负责人 1471

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

九步让你从零开始成为一名开源程序员

导读 探索技术世界,是一件非常令人兴奋的事情。你会发现有非常非常多的领域,等待你去学习,去深挖。如果有兴趣参与和帮助创造更好的功能,加入到开源的队伍当中,你知道要从哪里开始吗?第一步该做什么?第二十步又是什么? 首先要明白,开源是开放的。这听起来似乎是句废话,但现实中有很多人恰恰就忘记它只是一个文化现象的描述,而不是一家500强公司的名字。不需要去面试或完成注册表或注册表单才能

郑帅的博客 997

从零开始成为一名开源程序员,其实只需要九步!

探索技术世界,是一件非常令人兴奋的事情。你会发现有非常非常多的领域,等待你去学习,去深挖。如果有兴趣参与和帮助创造更好的功能,加入到开源的队伍当中,你知道要从哪里开始吗?第一步该做什么?第二十步又是什么? 首先要明白,开源是开放的。这听起来似乎是句废话,但现实中有很多人恰恰就忘记它只是一个文化现象的描述,而不是一家500强公司的名字。不需要去面试或完成注册表或注册表单才能成为开源程序员。只需要做

积小步而至千里 730

乱码解决九步曲

一、数据库 1.创建数据库时启动mysql使用参数 mysql -uroot  --default-character-set utf8 2.创建数据库 create database summer(库名) default character set utf8; 执行sql脚本 3.创建表         create table emp(表名)(列表....

纯洁的微笑 2002

万字长文|AI应用架构师详解:企业AI中台建设的“三阶九步”方法论,已在5家企业验证

业务驱动,场景优先:从业务痛点出发,选择高价值场景,再规划中台能力;数据为基,治理先行:数据是AI的燃料,先做好数据基建,再做模型开发;工具赋能,降低门槛:用低代码/无代码工具,让业务人员能快速构建AI应用;生态协同,持续运营:整合内部和外部生态,建立持续运营机制,让中台永葆活力。

操作系统内核探秘的博客 1406

java 乱码问题解决九步曲

一、数据库 1.创建数据库时启动mysql使用参数 mysql -uroot -p --default-character-set utf8 2.创建数据库 create database summer(库名) default character set utf8; 执行sql脚本 3.创建...

chenlianhe5750的博客 112
上一篇: 真正优秀的程序员有哪些与众不同之处?
Comp_uncle
博客等级 码龄14年 0粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值