关于当下ChatGPT在软件工程编码过程反思

打印 上一主题 下一主题

主题 526|帖子 526|积分 1578

     背景
     首先声明笔者是软件开发多年经历,对于ChatGPT过程中一些观察,仅代表个人观点。对于才工作的新人,没有更多软件开发与编码经验,可能ChatGPT帮助更大。当下ChatGPT在软件工程编码过程反思:

     风险一:  ChatGPT当下对于整个软件工程优化与改进所有源代码效率不高。 ChatGPT出现意味着程序员可以协助AI工具生成优质代码,改进现有代码。在实践过程中,我们看到程序员需要等待ChatGPT的逐行输出结果,这似乎是就是在等待时间。看上去最终效果比较好,但实际是等待花费更多时间。一个简单的技术问题也需要问GPT,那不是搜索引擎就能解决的问题。一个程序员如果过分依赖ChatGPT,实际上他的生产效率并不高。因为每写一段代码,他都在等待GPT帮助他来优化这段代码。这个程序员可能没有持续学习,在依赖GPT的AI生成代码。熟手高级程序员与软件工程师,我们期望他能直接能产出高质量的代码。这个优质代码技能在过去,这个程序员需要阅读大量的优秀的源代码并加与实践。 如果这个程序员已经具备独立产出高质量代码能力,他的效率必然比依赖GPT的程序员高效。
整洁代码是这样的:
人工智能永远不能完全取代程序员, 因为客户的需求总是模糊的, 程序员不只是写代码, 也会去讨论/设计需求和架构
糟糕的代码会杀死项目, 通常会在项目中后期体现出来, 此时项目的生产力快速下降, 影响正常迭代和问题修复
对一个成熟的项目进行重新设计和编写, 往往会分散人力, 同时新版的项目要想替换老项目也会耗时很久, 可能因为中间的人力变更导致烂尾
程序员要积极的拥抱项目发展中的各种需求变更, 不要总是抱怨太多杂事和需求变更导致开发时间紧迫, 事实上应该和PM沟通, 说明时间的用处和压缩时间的坏处, PM也希望可以给多的时间来产出优秀的代码.
整洁的代码是能让其他读者觉得, 这个代码是编写者用心写的, 几乎没有可以改进的地方, 其他人没有办法让这段代码变得更好了.
在编写代码的时间里, 实际上我们需要一直读之前的代码. 因此, 提高代码可读性是非常重要的.
时刻的记住保持代码的整洁, 从细微处做起.

这不由我们想起一个中国古话:
      物极必反--意思是指事物发展到极端,会向相反方向转化,出自《吕氏春秋·博志》
    ChatGPT只能是一个助手,不是全职选手。助手代码意思是辅助,主角还是每个人个体。我们需要持续加强的个体能力。个人的软件需求理解与分析能力是GPT目前不能代替的。
     风险二: 过于依赖ChatGPT缺乏独立思考,个体的独立思考能力才是前进与成长的源头。 过于依赖ChatGPT出解决方案,实际上已经是开始弱化个人独立思考能力,探索能力。人总是在依赖。独立思考是一种重要的能力,它可以帮助我们更好地理解世界,做出更明智的决策,同时也能够在个人和职业生涯中获得成功。让我们再次回顾独立思考能力:
一 . 自我认识
在独立思考的过程中,自我认识是至关重要的基础。我们必须对自己的价值观、偏见等有充分的认知,这样才能更加客观地看待事物,并避免被情感、偏见等因素所左右。如何才能通过“自我认识”使自己的思想更客观呢?总结了以下6个方法:
1、接受自己的情绪和感受。
有时候我们会因为自己的情绪而产生主观判断,而通过自我认识,我们可以更好地接受自己的情绪和感受,不再因为主观感受扭曲客观事实。
2、客观回顾自己的人生经历,考虑到这些经历对于自己的影响。
这包括自己所面临过的挑战、获得的经验、学到的知识、受到的影响等,从而了解自己的优势和弱点以及内心深处的欲望。
3、多与自己心灵沟通。
我们往往会被忙碌的生活所迷惑,而很难听到内心深处真正想说的话,从而忽略了自己的独立思考能力。因此,平时可以试着与自己交流,借助写日记、冥想等方式来反思自己的想法和感受。
4、注意思想的变化。
每个人的想法会随着时间的推移而不断变化,因此要时刻关注自己的思想动态,洞察自己的内心变化。这样才能及早纠正不良思想和行为,并建立符合自己价值观的准则。
5、多接触新事物。
人的成长离不开接触和经验的积累,只有不断接触新事物、兴趣点才能让自己知识面更广,思维更加开阔,从而有助于形成独立的思考方式。
6、寻求外部反馈。
我们的内心世界常常是模糊的,而与他人交流意见就能让我们更全面地接受自己的缺点和优势。通过跟长辈、朋友、同事等人交流,认真听取他们的建议、批评、反馈,从而发现自己的不足之处,并尽可能纠正。

二. 知识储备
想要做出独立思考,仅仅依靠感性和直觉是不够的,还需要我们在一定的领域内拥有大量的储备的知识与信息。
掌握大量领域内的知识,能够帮助我们更好地理解问题的原委,也能够让我们进行更为全面和客观的思考。另外,在掌握足够多的知识的过程中,更能够发掘出问题的深层次的本质,以及事物之间的关联等等。
如何快速地增加自己在一个领域内的知识储备呢?
有几点经验分享给你:
1、了解该领域的基本概念和理论。
在学习某一领域之前,需要先了解该领域的基本概念和理论,明确学习目标。可以通过阅读相关的入门书籍或教材,了解该领域的基础知识。
2、阅读该领域的经典著作或研究论文。
要深入了解一个领域,必须阅读相关领域的经典著作或研究论文,掌握该领域的基本理论、思想和方法,同时对研究者们解决问题的思考方式和方法进行学习。
3、结交该领域的专家、学者和从业者。
在这个领域有人脉可以和其交流和学习,也有利于获取更多知识和咨询。参加该领域的专业活动和交流会议,能获取更为权威的信息和交流。
4、实践学习和应用。
学习知识不能孤立于理论知识,要将其与实践结合起来,贯彻到实践中,进行实际操作与策略应用,增加自己的实际经验。
5、纵向学习和横向拓展。
同时,除了加深主要领域的认识和了解以外,也需要横向拓展,涉及到其他领域的知识。

三. 批判性思维是一种能够使人们更加客观和严谨的思考方法。在面对复杂和深度的问题时,批判性思维能够帮助我们从多方面、多角度来分析问题,并通过常识、逻辑、科学等方面的知识,自主地判断是非、对错等问题。

批判性思维需要不断锻炼和练习,可以从以下几个方面入手:
1、对信息进行评估。
批判性思维的基础是对信息进行评估,搜寻事实和观点的来源、逻辑和证据,了解采用的方法和数据是否可靠。在这个过程中需要用一些思考工具,例如如何评价信息来源,检查事实是否真实,检查理论是否有道理等。2、采用多角度思考。
批判性思维鼓励多角度思考,在评估信息和进行决策时,需要考虑多种观点和可能性,同时也要了解和接受不同的观点和声音,尝试提出不同的想法和解释。
3、提出问题和假设。
批判性思维强调提出问题和假设,鼓励审查和重构自己的思想,找到解决问题的方法。在提出问题和假设的过程中,需要防止表面现象的错误评估,提出主观性评价,要注意逻辑缜密性。
4、发掘潜在的偏见。
批判性思维推崇以客观的态度对待事物,尽量抵制个人看法和偏见的冲击。要识别潜藏的偏见,并时常检查自己的态度和偏见是否对事实的评估产生误导。
5、练习思考和表达。
批判性思维的最终目标是要能够思考和表达自己的观点和决策。在练习思考和表达过程中,要注重语言表达的准确性、逻辑性和语境适当性。在自我表达过程中,要紧跟文化发展,以平等、完整、健康的方式展现。
 
今天先到这儿,希望对云原生,技术领导力, 企业管理,系统架构设计与评估,团队管理, 项目管理, 产品管管,团队建设 有参考作用 , 您可能感兴趣的文章:
领导人怎样带领好团队
构建创业公司突击小团队
国际化环境下系统架构演化
微服务架构设计
视频直播平台的系统架构演化
微服务与Docker介绍
Docker与CI持续集成/CD
互联网电商购物车架构演变案例
互联网业务场景下消息队列架构
互联网高效研发团队管理演进之一
消息系统架构设计演进
互联网电商搜索架构演化之一
企业信息化与软件工程的迷思
企业项目化管理介绍
软件项目成功之要素
人际沟通风格介绍一
精益IT组织与分享式领导
学习型组织与企业
企业创新文化与等级观念
组织目标与个人目标
初创公司人才招聘与管理
人才公司环境与企业文化
企业文化、团队文化与知识共享
高效能的团队建设
项目管理沟通计划
构建高效的研发与自动化运维
某大型电商云平台实践
互联网数据库架构设计思路
IT基础架构规划方案一(网络系统规划)
餐饮行业解决方案之客户分析流程
餐饮行业解决方案之采购战略制定与实施流程
餐饮行业解决方案之业务设计流程
供应链需求调研CheckList
企业应用之性能实时度量系统演变如有想了解更多软件设计与架构, 系统IT,企业信息化, 团队管理 资讯,请关注我的微信订阅号:

作者:Petter Liu
出处:http://www.cnblogs.com/wintersun/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 该文章也同时发布在我的独立博客中-Petter Liu Blog。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

忿忿的泥巴坨

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表