首页
学习
活动
专区
圈层
工具
发布

什么叫代码的可读性?为什么说Kotlin的可读性比Java好?

其实,如果一段代码需要你多读个两三遍才能很好的理解,这本身不就说明,这段代码的可读性不高吗?...另外,这篇文章还暗含了这样一个观点,那就是,代码的可读性,仅仅是指,看到一段代码,能不能理解这段代码的含义。这是一个很多人都会错误的观点。 但是,在真正工作中,代码的可读性,恐怕不至这一个方面。...要理解这段代码并不难(其实后面你会看到,要确保正确理解这么代码也没那么简单),但是速度并不快,你必须从头到尾看完这8行代码,就算你说最后两行可以一扫而过,那也必须看完前面6行,你才能知道“哦,原来这段代码做的事情是...确保正确理解一段代码的难易程序 这是很多人会忽略的事情。能否理解一段代码,跟确保正确的理解这段代码,其实中间还是有一些差别的。很多代码看起来很简单,但是要确保自己正确的理解,其实还是非常费劲的。...在Google声明Kotlin成为安卓开发的官方支持语言那一天,我建了一个微信群。目前偶尔还是有人在群里面问,Kotlin值得学习吗?有风险吗?看到现在还在问这样的问题,我是觉得有点遗憾的。

1.4K70

为什么说Kotlin的可读性比Java好?

其实,如果一段代码需要你多读个两三遍才能很好的理解,这本身不就说明,这段代码的可读性不高吗?...另外,这篇文章还暗含了这样一个观点,那就是,代码的可读性,仅仅是指,看到一段代码,能不能理解这段代码的含义。这是一个很多人都会错误的观点。 但是,在真正工作中,代码的可读性,恐怕不至这一个方面。...下面,依次解释一下这三点,以及为什么说,Kotlin 的可读性会对 Java 高。 1....要理解这段代码并不难(其实后面你会看到,要确保正确理解这么代码也没那么简单),但是速度并不快,你必须从头到尾看完这 8 行代码,就算你说最后两行可以一扫而过,那也必须看完前面 6 行,你才能知道“哦,原来这段代码做的事情是...在 Google 声明 Kotlin 成为安卓开发的官方支持语言那一天,我建了一个微信群。目前偶尔还是有人在群里面问,Kotlin 值得学习吗?有风险吗?看到现在还在问这样的问题,我是觉得有点遗憾的。

2.2K50
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    提问也是一门学问

    混迹于各大技术群,下面的这些场景,你肯定经常遇到。 小明:哪位大哥能帮忙看下这个问题吗?为什么数据还是不能插入? 小明:[一张图] 小白:有大佬在么?关于xx有人会么?...小明:[一张图] 或者 [一小段代码] 小明:这个为啥报错啊? …… 面对这些提问,热心回答者最初更多的是各种猜测:“你说的xx是这个xx意思?”、“能不能说下你是如何使用的?”...我的这段代码运行不了,谁能帮我看看啊! 明智的提问: 各位,我下面这段代码是这样写的,理论上运行的结果应该是xx,可是现在却运行不了。...我通过Debug调试也没有发现啥异常,有人能帮我看看或者给个思路么? 2.2 清楚表达你的问题 清楚、良好地表达你的问题非常重要。花点额外的精力斟酌一下提问字句,确保别人能够看得懂。...2.4 关于代码的提问 别要求他人能直接帮你写代码。 张贴几百行的代码,然后说一声“它不能运行”,这只能让人反感,没人愿意理会你。

    87720

    用ChatGPT不光能提高开发和学习效率,还能帮你应付老婆?

    所有这些AIGC工具都是基于ChatGPT这样的大模型实现的,至于什么是大模型,这是我一个业务研发整天写代码的人能说的清楚的吗?...让ChatGPT给你解释代码 很多人用ChatGPT是描述个功能,让它给你输出实现功能的代码,我使用ChatGPT一般是给它对代码让它帮我先解释一遍。...所以我就把别人提供的签名示例代码给了GPT,让它帮我解释一下 GPT也准确解释出来了这段代码生成签名的规则 紧接着我就让它把这个签名规则用Java代码再实现一遍 我在本地跑了两个语言的代码发现同样参数生成的签名完全一致...我也是看别人项目的代码,然后哪里不动了让GPT给我解释一下,其实使用方法跟上一条没啥区别 你看GPT还是挺礼貌的,我没给人家代码,人家还跟我道歉,要是我这么问某个同桌,不得上来先喷我一顿.........不过Hive,Doris这不是数仓和BI他们用的东西吗?我一个CRUD Boy 肯定是不懂的,但又不能不回答,我就把这个问题提给了GPT。

    34420

    从Java全栈到云原生:一场真实面试中的技术探索

    那你能解释一下这段代码的作用吗? 应聘者(解释):这段代码配置了Spring Security,限制了所有以/api开头的请求必须具有USER角色,其他请求需要登录。...那你能解释一下这些测试的作用吗? 应聘者(解释):这些测试验证了Calculator类的add和subtract方法是否正确执行,确保代码的可靠性。 面试官(鼓励):非常棒!...那你能解释一下这段代码的作用吗? 应聘者(解释):这段代码定义了一个Feign客户端,用于调用user-service服务的GET /users/{id}接口,返回一个User对象。...那你能解释一下这段代码的作用吗? 应聘者(解释):这段代码定义了一个MyBatis的Mapper,用于查询用户信息。通过#{id}参数化查询,避免SQL注入。 面试官(鼓励):非常好。.../deploy.sh ``` 面试官(点头):这段代码展示了GitHub Actions的基本用法,包括触发条件和构建步骤。那你能解释一下这段代码的作用吗?

    25410

    没有写一行代码,上线了一个网站

    ,妈呀,每天23:30下班不得真是牛马了,这是肯定不能接受的 于是乎我又告诉它,下班时候要自己调,不要写死 结果终于符合想法了,还真不错,接下来就把代码复制一下,保存后缀为 html 的网页就可以了...提供上下文 :如果问题涉及到特定的项目背景、代码框架或者之前的开发过程,简单提及这些上下文信息。...比如,“我在开发一个 Django 项目,现在想在用户登录模块添加一个验证码功能,但不知道如何在 Django 中实现验证码的生成和验证,能给我一些代码示例吗?”...例如,“请给我一个 Python 中实现冒泡排序的代码示例”。 解释说明 :如果需要对代码进行解释,也应指出。比如,“请解释一下这段代码中每个函数的作用”。...优化建议 :如果你希望 AI 对现有代码进行优化,说明你的目标。例如,“这段代码运行速度很慢,你能帮我优化一下,让它更高效吗?”

    39210

    开学第一课:拜托,一定不要这样问Python问题

    2.文本词频统计有几种代码写法? ? 3. ? 4.为啥我的Socket程序客户端连接不上服务端呢? 5.请问你会用Python做网站吗?/请问群里有懂Python做网站的吗? 6. ?...7.我的代码可以运行,但是结果不对,如下,我该怎么办? ? 8. ? 9. ? 10.群里有人吗,谁能告诉我这个怎么办? ?...(发一段代码截图,且需要放大很多倍才能勉强看清)大家帮忙看看这段代码哪里有问题啊? 18. ? 19.我有个特别特别简单的问题,但在网上就是查不到解决办法,你能告诉我该怎么办吗?...23.我自己的老师说我的程序中至少有3处错误,又不告诉我哪里有错误,我找不出来,你能帮我找出来改一下吗? 24.老师,如果要在窗口上显示图片,应该怎么做?需要注意什么?...举手之劳很少有人会拒绝,但是如果需要花费大量时间来猜你到底问的是什么,需要为了解决这个问题专门搭建环境安装扩展库,需要照着你的代码截图自己敲一遍,需要花大量时间来设计测试数据并且根据你提供的几行代码片段甚至压缩到不能再少的几行出错提示来推测代码是什么样子以及为什么出错和怎么修改

    94010

    被玩坏的chatGPT之初体验三:VS Code上的chatGPT插件

    关于代码的部分都是我们只需要通过鼠标划选对应的代码,然后选择对应的功能即可:图片图片这两个早期插件,需要自己提供session-token, 也就是说如果你自己没有Open AI的帐号不能够使用chatGPT...图片国内插件在基本功能上和国外插件大同小异:用法可以打开命令面板(ctrl+shift+p 或者 command+shift+p),输入 "ChatGPT" 来查看插件目前支持的命令ChatGPT:能解释一下这部分代码的含义吗...:选中一块代码 或者 将整个文件作为输入,然后向 ChatGPT 询问这段代码的含义。ChatGPT:可以重构这部分代码,然后说一下与重构前的区别吗?...:选中一块代码 或者 将整个文件作为输入,然后让 ChatGPT 找出这段代码的问题。ChatGPT:请输入问题:直接向 ChatGPT 提问ChatGPT:然后呢?...但最遗憾的是,他们都没有办法做到交互模式,在自由询问时,无法上下文衔接:图片比如,我提了个问题:帮我写一个ansible的程序,可以远程执行脚本,给出的程序中有all,我想知道这个all是设么意思。

    20.7K121

    为什么聪明的工程师都在用TypeScript写AI辅助代码?

    去年,我在一个三十多人的中型团队里做技术选型时,遇到了一个有趣的现象。 团队里有人坚持用JavaScript开发新项目,理由很硬气:"我们用AI工具啊,代码自动生成,还需要什么类型系统?" 结果呢?...├─ 注释内容(有人写了说明吗?还是全靠猜?) └─ 周围代码模式(其他函数怎么写的?)...经常出错 很少出错 代码修改后 AI需要重新适应 类型约束保护 ️ AI调用函数时 随便试,看成不成 按规则来,不能乱 第二部分:为什么AI生成的TypeScript代码质量更高?...TypeScript能保证代码的"类型正确",但保证不了"逻辑正确"。...类比一下: ❌ 错误理解:我有GPS,所以不用学地理 ❌ 错误理解:我有计算器,所以不用学数学 ❌ 错误理解:我有Cursor,所以不用学编程 ✅ 正确理解:我有AI工具,所以能更快地实现想法 ✅ 正确理解

    25110

    和AI谈恋爱指南:从尬聊到心有灵犀

    代码?情书?辞职信?购物清单?结果AI可能给你写了一篇《我的宠物小金鱼》...提示词工程师:新时代的"AI翻译官"据说现在有公司愿意花335,000美元年薪招聘提示词工程师!这是什么概念?...图2:提示词工程师的"翻译官"角色 说书时间:AI简史:从"智障"到"智神" 从Eliza到ChatGPT:一部AI成长史1960年代:Eliza——AI界的"心理医生"想象一下,60年代就有人造了个...这就像和朋友聊天,你可以说:"刚才的回答太正式了,能不能轻松一点?" "再加点具体的例子吧。" "这个部分能详细解释一下吗?"...请用通俗易懂的比喻来解释概念,每次解释后问我一个问题检验理解,如果我答错了,请鼓励我并给出提示。现在请解释一下什么是栈(Stack)。...场景二:程序员的代码伙伴不再是孤独的Debug之旅:你是一位资深的JavaScript开发者。请帮我审查这段代码,并解释每一行在做什么:[粘贴代码]同时请指出潜在的问题和改进建议。

    56110

    从Java到Vue的全栈工程师实战之路

    接下来,我想问一些关于Java后端的问题。 ## 二、Java后端技术提问 **面试官**:你能解释一下Spring Boot的核心特性吗?...这些特性让开发更灵活,也更适合大型项目的开发。 **面试官**:那你能写一段代码展示你是如何使用Vue3的Composition API吗? **应聘者**:当然可以。...## 四、数据库与ORM技术提问 **面试官**:接下来,我想问一些关于数据库和ORM的问题。你能解释一下MyBatis和JPA的区别吗?...## 六、测试与调试技术提问 **面试官**:接下来,我想问一些关于测试和调试的问题。你能解释一下JUnit 5的主要特性吗?...## 七、部署与运维技术提问 **面试官**:接下来,我想问一些关于部署和运维的问题。你能解释一下Docker的基本概念吗?

    21810

    我靠AI做出了一个育儿补贴计算器小程序!

    下面,我就把这段“从0到1”的真实经历分享出来,希望能给和我一样的普通人一点启发和勇气。一、为什么做这个小程序?...可问题是:我不会前端编程啊……二、转机:我用AI当“私人前端老师”一次偶然,我尝试用最近很火的 cursor 问了一句:“我想做一个计算育儿补贴的小程序,但完全不会前端,你能帮我吗?”...三、我的开发流程(全靠AI辅助,一行代码没自己写)第1步:让AI帮我规划功能我对AI说:“我想做一个育儿补贴计算器,根据2025年新政策:每月300元,从出生到3岁。请帮我设计一个小程序页面。”...示例提示词:“请生成一个小程序页面,功能是XXX”“这段代码报错:XXX,请帮我修复”“如何在小程序中实现日期选择并计算差值?”坚持发布:完成比完美重要一万倍。...用户反馈是动力:有人用、有人夸,你会更有信心做下一个!如果你也有一个想解决的小问题,别犹豫。 打开AI,从一句‘你能帮我做个小程序吗?’开始。也许下一个改变生活的工具,就出自你手。

    35410

    依赖注入不是Java的专利,Golang也有

    为了说明依赖注入有多好用,我先用Java代码来解释一下。 先来看一下没有依赖注入的Java世界是怎样的 Golang的很多用户都不是来自Java,依赖注入他们可能听过,可是从来没有玩过。...为了说明依赖注入有多好用,我先用Java代码来解释一下。 先来看一下没有依赖注入的Java世界是怎样的 在main方法里面,我们new出来很多对象,然后用他们构造了一颗依赖树。...好处不用多说,一目了然,就是帮我们节省代码,省去了很多系统初始化时构建一系列对象的细节。...然后我们把这段代码改造成facebookgo依赖注入版本的 这个跟Java版本也很类似,只是Module的定义直接放在了main方法里,也就是上面代码中的Provide方法调用,@Singleton不需要了...不过没关系,相比而言这些缺失的功能不是必须的,能帮我们省掉很多代码它已经做得很好了,这就足够了。

    94410

    从Java全栈到前端框架:一次真实的面试实战分享

    首先,你能不能说一下你在上一家公司主要负责什么? **应聘者**:我在上一家公司主要负责后端服务的开发和维护,同时也有参与一些前端页面的开发,使用的是Vue3和TypeScript。...那你能举个例子说明你是如何实现一个用户登录功能的吗? **应聘者**:当然可以。我们会用Spring Security来处理认证,JWT来做令牌管理,确保每次请求都带有有效的token。...,但你可以再详细解释一下JwtAuthenticationFilter的作用吗?...; }; return { message, changeMessage }; } }; ``` **面试官**:这段代码很简洁,但你可以再解释一下setup...那你能谈谈你在项目中是如何进行版本控制的吗? **应聘者**:我们主要使用Git进行版本控制,遵循Git Flow的工作流。 **面试官**:很好,那你能说说你是如何解决合并冲突的吗?

    17310

    IT大咖撩段子

    相信大家也会遇到,希望能引起您的共鸣。 朋友用office时候,排版排不来就"XX ,你有时间吗?...我记得你是学计算机的吧,能不能帮我把这个word 排版改一下" 然后就成了自己慢慢百度学习office ,有人问office 就说你把文件发过来,我给你改好后给你。 有人安装应用,配不好环境时候。"...XX ,你是学计算机的吧,我这个应用怎么安装后不能用啊"。然后,还是默默百度教程,整理后发过去,或者直接teamview 。 有人电脑坏了,就"XX ,你是学计算机的吗?...我电脑这是怎么回事啊,你能帮我看看吗"。然后又恶补了修理知识。或许这也是为自己MacBook 被拆的一个个零件埋下伏笔吧。...当然这些很常见,还有一些回家后,有人喊着修电视,修手机,理由都是因为我学计算机的。嗯,快可以开个修理店了。 可是,我不是学软件的吗?我不应该敲代码吗?我是要面对一系列英阿中文啊! 唉,403教做人。

    1.2K60

    从Java到Vue:一位全栈工程师的实战面试故事

    我看到你的简历中提到你在一家互联网大厂担任Java全栈开发,有5年的经验。能简单介绍一下你的工作经历吗? **应聘者**:您好,感谢您的时间。...那你能详细说明一下你在该项目中的具体职责吗? **应聘者**:我主要负责后端API的设计与实现,以及前端组件的开发。...## 第二轮:微服务与架构设计 **面试官**:你提到你们团队使用了微服务架构,能具体说说你是如何设计和实现这些服务的吗?...**面试官**:没错,这些都是常见的解决方案。那你能举一个实际的例子吗? **应聘者**:比如,在电商系统中,下单操作涉及库存服务和订单服务。如果其中一个服务失败,就需要回滚另一个服务的操作。...他不仅能够清晰地描述自己的项目经验,还能写出高质量的代码示例,并对各个技术点有深入的理解。此外,他在面对复杂问题时也能保持冷静,合理地引导面试官理解他的思路。

    25610

    JavaScript 工厂函数 vs 构造函数

    由于 Javascript 本身不是严格的面向对象的语言(不包含类),实际上来说,Javascript 并没有严格的“工厂函数”,但是在 Javascript中,我们能利用函数模拟类。...属性值是一个普通的对象 所有的函数,都有一个prototype属性,属性值也是一个普通的对象 所有的引用类型(数组、对象、函数),__proto__属性值指向它的构造函数的prototype属性值 通过代码解释一下...,表示在 new 关键字,JS 背后帮我们做的事情。...如果你不能正确理解它,那么在运行 JavaScript 应用程序时会产生令人讨厌的后果。 在像 Java这 样的语言中,严格限制了如何使用 new 关键字。...但是在 javascript 中,并不是那么严格,如果你不能正确理解它们可能会导致很多问题。

    1.4K20

    从Java全栈到Vue3实战:一场真实面试中的技术碰撞

    ## 第一轮:Java与Spring Boot基础问题 面试官:首先,我想确认一下你的Java基础是否扎实。你能解释一下Java中的`final`关键字的作用吗?...那你能举一个实际的例子说明你是如何使用Spring Boot进行项目开发的吗? 应聘者:好的,我之前做过一个电商平台的商品管理模块,使用Spring Boot构建了一个RESTful API。...那你能分享一个你使用Vue3开发的实际项目吗? 应聘者:我之前参与过一个内容社区平台的前端重构,使用Vue3 + TypeScript进行开发。...面试官:非常好,那你能写一段简单的代码示例吗?...面试官:非常好,你对这些组件的理解很到位。那你能说说你在项目中是如何使用Spring Cloud的吗?

    24710

    流行趋势到底能不能预测?用数据分析告诉你真相!

    很多人心里都会问:这些流行趋势能不能提前预测?答案是:能!但不是靠玄学,而是靠 数据分析。今天咱就聊聊,数据分析如何预测流行趋势。别担心,我不会跟你掉书袋,而是结合实例和代码,带你轻轻松松走一遍逻辑。...有人可能会说,流行趋势不就是靠运气吗?其实没那么简单。趋势的形成往往有迹可循:热搜关键词的搜索量突然飙升;某个话题的讨论度呈指数级增长;电商平台的销量在短时间内突增;某个群体的关注度持续聚集。...三、用 Python 做个小实验下面我写一段简化版的 Python 代码,模拟用 Google Trends 数据来预测某个关键词的流行趋势。...AI 绘画"], label="AI 绘画")plt.title("AI绘画 搜索趋势")plt.xlabel("日期")plt.ylabel("搜索热度")plt.legend()plt.show()这段代码能帮我们把...如果你做内容、做产品、做投资,能早别人一步发现苗头,就已经赢了一半。七、结语流行趋势能不能预测?答案是:能,但需要数据和方法。

    76100
    领券