电脑知识
中学生学代码编程有用吗(中学生学的编程)
2023-04-12 09:43

程序员终究是败给了年龄,不管是资深还是高架最终都可能被取代,“无敌”一般的ChatGPT席卷各个大厂,新的风险cy已经来了。你认为使用它写代码是否可以取代程序员?

1、今天最亮眼的是半导体板块,属于ChatGPT概念散发。昨天和前天文章我也说了,算力和算法是我国人工智能最大的短板,算法靠的是天才编写代码,算力靠的是高端芯片,也正是我国被卡脖子的地方。

如今AI模型层出不穷,所谓的神经网络结构日益复杂,所需算力也越来越大。如何使得神经网络的硬件加速成为关键,AI的硬件加速方案层出不穷,但主要分为FPGA和ASIC两类。

而GPU一开始是图形处理器,现在因为GPU可以提供多核并行计算的基础,可支撑大量数据的并行运算,被广泛运用于AI算法中。

目前GPU芯片领域,做的最好的就是英伟达了。而在去年9月份,英伟达就接到美国通知了,禁止出售高端芯片给我国。所以,现在我们想买也买不到。

#如何提升个人的编程能力#

一个普通的程序员可以在自己的岗位上把增删改查的代码写的很好,也是一件相对不容易的事情,个人观点,想要提高一个人的代码能力需要做到如下几点:

1.责任心,进入职场初期,就需要提高自己的责任心,分配给你的任务或者需求,你需要踏踏实实的完成,全流程负责,从需求理解,沟通,开发,自测,压测,上线,灰度,全量,需要亲力亲为跟踪每一个步骤,了解自己的不足并且想办法提高。

2.业务理解能力,很多人刚刚步入职场,每天就是去看各种博客,专题文章,教程,课程,源码,对业务一点都不了解,沉浸在自己的世界,然后编程的时候开始瞎套用别人优秀的代码,邯郸学步,上线后各种问题,别人问他,他就说人家就是这么写的,别人让他讲解一下逻辑,他也回答的模棱两可,不管你会了多少牛逼的技术,懂多少技术背后的源码和原理,对于你周边的人来说,你就是能力不行,编码能力不强,bug率高,一名典型的不合格程序员。

3.遇到代码问题需要追根问底,找到根本原因,遇到线上问题后,没有深入分析问题,不知道这个问题是哪一行代码出现的问题,而是避重就轻,继续按照自己的节奏去学习网上说的那些比较厉害的技术,我遇到很多面试者,问他如何解决线上问题的,很多候选人都说线上OOM了,线程不安全了等等,MySQL慢查死锁了,缓存穿透了等等,问他问题产生的原因如何解决的,差一点的就不说话了,好一点的就去背网上这些问题的八股文,与自己实际遇到的问题完全不相符。下次这种问题仍旧再犯,代码依旧错误的写。

4.挑战难度大的项目,突破自己。有些人工作5年8年,一直在做没有并发,一直在做demo,工作也不是很忙,日常也会主动学习一些技术,但是编码能力就是不强,主要原因就是缺乏实际的锻炼。所以日常要主动扛起核心模块的设计,在你业务领域里做最难的工作,例如支付模块,关注feeds流,IM长链接,对账,推荐,搜索,底层架构等等

5.一种不是自我感动的学习,持续学习,看看周边同事优秀的代码,看看网上一些便于理解的源代码,日常多总结,多review自己的代码。对某一门比较感兴趣的可以深度学习,先学会使用,再去了解原理,最后看源码,最终去模仿变成自己的编码风格和能力。

#商业大事议#最近的互联网圈,清一色都在谈ChatGPT!它能够真正像人一样来聊天,还能写脚本、文案、论文和代码,而且写的内容比很多创作者、程序员还要好。

ChatGPT很可能会改变一个时代,大量的岗位将被AI所替代。

那么,#哪些职业会被AI影响取代# ?

按照ChatGPT自己的说法,是高重复性、高度规范化的岗位会被取代,但不意味着所有这样的工作都会被取代。 很明显,ChatGPT的情商蛮高的,知道给人类留面子。

在中短期内,ChatGPT会对基础性、重复性的劳动力岗位产生冲击,但对于有创意、需要感情沟通的工作不会造成什么影响。

之前看过一篇文章,讲人和机器永远是共生的。不管是自动化还是AI,淘汰的都是没有创造力和创新的工作,是提升社会效率的必然进程,也会孕育出更有创意和创新的新工作种类。

我所在的是高校市场,也关注了到美国89%的大学生都是用ChatGPT做作业以及高校打响AI反击战的新闻。

用ChatGPT可以直接生成A+等级的论文,真是让人惊呆了!那么,#AI创作会让年轻人丧失想象力吗#?

如果大学生完全使用AI帮自己完成作业、考试任务,确实会让作业、考试、论文失去了意义,不需要思考就能写出完美的观点和论据,也会让大家逐渐丧失想象力。

而如果把ChatGPT作为效率工具,尝试与学业进行结合,比如借助它进行头脑风暴或底层代码的编写,则会让自己的创意和能力进一步进化,也不用担心未来被AI所取代。

无效单元测试

如何在保障单元测试覆盖率的前提下,能够更少地编写单元测试代码。

代码覆盖(Code Coverage)是软件测试中的一种度量,描述程序中源代码被测试的比例和程度。

单元测试覆盖率指标:

行覆盖(Line Coverage):用于度量被测代码中每一行执行语句是否都被测试到了。

分支覆盖(Branch Coverage):用于度量被测代码中每一个代码分支是否都被测试到了。

条件覆盖(Condition Coverage):用于度量被测代码的条件中每一个子表达式(true和false)是否都被测试到了。

路径覆盖(Path Coverage):用于度量被测代码中的每一个代码分支组合是否都被测试到了。

方法覆盖(Method Coverage)、类覆盖(Class Coverage)等单元测试覆盖率指标。

单元测试覆盖率,只能代表被测代码的类、方法、执行语句、代码分支、条件子表达式等是否被执行,但是并不能代表这些代码是否被正确地执行并返回了正确的结果。

只看单元测试覆盖率,而不看单元测试有效性,是没有任何意义的。

发表评论
0评