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

这代码写的太烂了!你以为我真想写“垃圾代码”吗?

3、何时重构 任何情况下我都反对专门拨出时间进行重构。重构本来就不是一件应该特别拨出时间做的事情,重构应该随时随地的进行。...,这将带给你极大的帮助,使你能够为这个类编写更清晰的代码。...5、引入注释性变量 你有一个复杂的表达式。将该复杂表达式(或其中一部分)的结果放进一个临时变量,以此变量名称来解释表达式用途。...在条件逻辑中,你可以用这项重构将每个条件子句提炼出来,以一个良好命名的临时变量来解释对应条件子句的意义。另一种情况是:在较长的算法中,可以运用临时变量来解释每一步运算的意义。...2、合并表达式 你有一系列条件测试,都得到相同结果。将这些测试合并为一个条件表达式,并将这个条件表达式提炼成一个独立函数。 3、合并重复的条件代码 在表达式的每个分支上都执行了相同的一段代码。

1.2K30

MySQL这个函数刚刚修复,你的代码还安全吗?

案例演示:版本差异对比 让我们通过实际代码来看看这个差异: -- 在MySQL 8.0.25或更早版本中 SELECT UNIX_TIMESTAMP('2040-01-01'); -- 返回 0 --...历史文章已经说明原因MySQL时间戳2038年灾难:你的数据还能撑过去吗? 这是一个关键区别: -- 1....给开发者的建议 基于这个发现,我们向所有MySQL开发者提出以下建议: 检查MySQL版本:如果你在代码中使用UNIX_TIMESTAMP()函数处理未来日期,请确认你的MySQL版本是否为8.0.28...作为开发者,我们需要: 理解这个变化及其对现有系统的影响 在适当的时候升级MySQL版本 重新审视与时间处理相关的代码逻辑 在设计新系统时,为2038年后的世界做好准备 时间处理是软件开发中最复杂、最容易出错的领域之一...你的系统中是否也有类似的“时间炸弹”?欢迎在留言分享你的经历和见解。

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

    在线求CR,你觉得我这段Java代码还有优化的空间吗?

    单测 因为上面这个方法是可能在并发场景中被调用的,所以需要在单测中模拟并发场景,于是,我就写了以下的单元测试的代码: public class AssetServiceImplTest { private...知识点 以上这段单元测试的代码中涉及到几个知识点,我这里简单说一下。...AtomicInteger 因为我在单测代码中,创建了10个线程,但是我需要保证只有一个线程可以执行成功。所以,我需要对失败的次数做统计。...这个问题其实我在发朋友圈之前就有想到过,心中早已经有了答案,只不过有多位朋友能够几乎同时提到这一点还是很不错的。 我们来说说问题是什么。...但是还是想问一下,对于这部分代码,你觉得还有什么可以优化的地方吗?

    1.1K30

    GPT-4:我写的代码你敢用吗?研究表明其API误用率超过62%

    他们还设计了一套用于调用大型语言模型来生成代码段及相应解释的模板。 研究者还提供了一个评估器,其能使用抽象语法树(AST)分析所生成的代码段并将它们与预期的 API 使用模式进行比较。...他们希望借此让人们了解 LLM 在生成代码时误用 API 的重要问题,同时这项研究也能为 LLM 的评估提供一个新的维度,而不只是常用的功能正确性。此外数据集和评估器还将开源。...接下来,该检查器会将这个调用序列与 API 使用规则进行比较。它会推断每个方法调用的实例类型,并将该类型和方法用作键来检索相应的 API 使用规则。...最后,该检查器会计算这个调用序列和 API 使用规则之间的最长公共序列。 如果这个调用序列和预期的 API 使用规则不匹配,则该检查器就报告出现了 API 误用。...问题 3:正确的 API 使用示例能降低 API 误用率吗? 问题 4:为什么 LLM 生成的代码无法通过 API 使用检查?

    61020

    【开源】告别“拍脑袋”管理:基于原生 Web 的轻量级项目管理计算器实战

    为了解决这些问题,且避免重型软件的繁琐,我开发并开源了这个“打开即用、用完即走”的轻量级计算器。...CV/SV(偏差),CPI/SPI(效率),TCPI(你需要多努力)2.项目选择(NPV)这个项目在财务上值得投入吗?...利用jQuery简洁的事件处理,实现了“一键导入”功能:展开代码语言:JavaScriptAI代码解释//tool/script/evm-calculator.jsfunctionimportACFromEVM...例如,通过计算结果自动判断“红/绿”状态,直观呈现绩效好坏:展开代码语言:JavaScriptAI代码解释/*tool/script/evm-calculator.js*///自动判断绩效状态并输出文案...无论你是带领团队冲锋陷阵的项目经理,还是精打细算的商务负责人,量化都是决策的基础。希望这个开源项目能为你提供一个轻量级的解决方案。源码完全开放,欢迎Fork、Star或根据你的需求随意魔改!

    10310

    新手ztree结合springmvc 入门生成动态树

    这个是异步加载数据 先看效果图 ? 这里先看数据库 ?...var zTree = $.fn.zTree.getZTreeObj("treeDemo"); zTree.cancelEditName(); alert("节点名称不能为空...1"); list.add(map); list.add(map1);*/ return list; } 上了代码估计都知道怎么做了不过这里来解释下几个地方: ?...这个 autoParame 是传值给后台的,这个值 时id 也可以时pId 没点击一次都会去查询 父节点下的子节点 根据这个id 来检索所有的子节点。 但是第一次检索怎么办? ? 这里有设置默认值。...我这里是0 这样检索就完成了。 其他的上面都有注释应该都能看懂。 这里没有涉及到权限这一块。只是简单的异步加载树。 如果有什么不懂的 也可以直接评论。我会回复的。刚接触使用这个ztree 请指点。

    86810

    jQuery——插件

    简单来说:“jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(框架)于2006年1月由John Resig发布。...jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。...【作用2】扩展jQuery类方法:$.extend({方法名:function(){方法体}})注意,多个方法之间用逗号隔开 上面继承了对象的属性,那么方法可以继承吗?...哎,来看一下 $.accd();请问现在有效果吗?报错 对吧。应该根本就没有这个方法。看我怎么写 他就不报错了。...验证信息也是一样 现在我们的验证信息都是黑色字体,有人说了,验证的提示信息不应该都是红色的字体吗?怎么设置红色字体呢?这个简单,不过需要我们写在样式里面了

    17.1K10

    前端面试那些坑

    请解释一下为什么会出现浮动和什么时候需要清除浮动?清除浮动的方式 移动端的布局用过媒体查询吗? 使用 CSS 预处理器吗?喜欢那个? CSS优化、提高性能的方法有哪些?...forEach.call($$("*"),function(a){ a.style.outline="1px solid #"+(~~(Math.random()*(1解释一下这段代码的意思吗...怎么实例化这个类 JavaScript中的作用域与变量声明提升? 如何编写高性能的Javascript? 那些操作会造成内存泄漏? JQuery的源码看过吗?能不能简单概况一下它的实现原理?...(名称、版本号,依赖) 每个模块的代码结构都应该比较简单,且每个模块之间的关系也应该非常清晰,随着功能和迭代次数越来越多,你会如何去保持这个状态的?...当团队人手不足,把功能代码写完已经需要加班的情况下,你会做前端代码的测试吗? 说说最近最流行的一些东西吧?平时常去哪些网站? 知道什么是SEO并且怎么优化么? 知道各种meta data的含义么?

    2.9K60

    前端阿瓜每周速记(2020 第 34 周)

    值传递、引用传递、解释型、编译型 我知道你知道,JS 值有两大类型:基本类型和引用类型。基本类型按值传递,引用类型按引用传递。非常优秀,背的简直不要太熟,但你有想过为什么要这么划分吗?...JS 是脚本语言,是解释型语言,即运行时翻译。不清楚解释型语言和编译型语言的参见这篇。简单来说:解释型语言是边运行边翻译,编译型语言是翻译完后再运行。...操作对象时,实质上操作的是这个对象的引用,可理解为:在栈内存中的一个指针,指向堆内存的某个地址。 堆栈存储的优缺对比 栈内存优缺: 优: 大小固定有限制,存取快,销毁快。 缺:不够灵活。...———— MDN (os:还用我说什么吗?“JS是最好的语言”打在评论中。) 小结: 这里提到了的内存部分只是冰山一角,深可至 V8 引擎原理、计算机系统原理等。...JQuery 1.8.2 XSS 攻击 本司安全组在扫码代码安全时检测出了本瓜所在项目存在 Jqurey 版本过低导致的 XSS 攻击(中危)。

    92730

    前端工程师面试题汇总

    请解释一下为什么会出现浮动和什么时候需要清除浮动?清除浮动的方式 移动端的布局用过媒体查询吗? 使用 CSS 预处理器吗?喜欢那个? CSS优化、提高性能的方法有哪些?...用原生JavaScript的实现过什么功能吗? Javascript中,有一个函数,执行时对象查找时,永远不会去查找原型,这个函数是? 对JSON的了解?...怎么实例化这个类 JavaScript中的作用域与变量声明提升? 如何编写高性能的Javascript? 那些操作会造成内存泄漏? JQuery的源码看过吗?能不能简单概况一下它的实现原理?...(名称、版本号,依赖) 每个模块的代码结构都应该比较简单,且每个模块之间的关系也应该非常清晰,随着功能和迭代次数越来越多,你会如何去保持这个状态的?...当团队人手不足,把功能代码写完已经需要加班的情况下,你会做前端代码的测试吗? 说说最近最流行的一些东西吧?平时常去哪些网站? 知道什么是SEO并且怎么优化么? 知道各种meta data的含义么?

    2.7K80

    25个常规方法优化你的jquery代码

    为了解释这个,我们采用前面的第一段代码。它创建一个有1000项内容的UL,每项都有一个单独的class。 然后遍历之每次选择一项。你应该记得通过class选择所有的1000项item需要耗时5秒多。...如果你向DOM中添加了新的元素,尽管这些新元素被选择器所匹配,但是这些新元素并不会绑定上事件处理(你同意我的观点吗?),因此不会有事件发生。 ...精简你的HTML并在页面加载后修改它 这个标题可能没有多大意思,但是这个技巧可能理顺你的代码、减小代码体积和页面的下载时间、有助优化你的搜索引擎。...我相信你也会认为这段代码相当的丑陋。如果类似代码很长的话,你最终会形成一个相当长且丑陋的页面。...给你的HTML属性增加JS类 我是从Karl Swedberg那学到这个技巧,过去学习jQuery时一直在看他的书。 他最近在我以前的文章留下了对该用法的评论,基本原则如下示之。

    2.4K10

    Web前端知识体系大全

    在我总结的这个知识框架中,首先第一层我划分为:理论知识,类库框架,编码开发,运行环境。如下图: ?   接下来给大家解释一下:   这个图要从下往上看,为何?...大家可能以为编码开发不就是写代码吗,还有啥?——这里面道道多着呢; 最后,开发程序的目的,最终是为了能高效、稳定的运行在相应的环境中,这其中又有哪些事情需要我们去做?请期待; 3....下图的这些知识,我想不用再过多解释了,这就是我文章开发说的“三大块”(html、css、js)。...而我利用jquery不仅仅停留在只使用它的API和插件上,我还会自己去写jquery插件,我还会去读jquery的源码、了解jquery的设计思路。...另外,针对html、css、js的压缩、合并、语法检查,文件的清除、复制这些操作,你还要手动去做吗?——你需要grunt或者gulp的帮助。

    2.2K40

    web前端知识体系大全,教你如何学习前端!

    在我总结的这个知识框架中,首先第一层我划分为:理论知识,类库框架,编码开发,运行环境。如下图: ? 接下来给大家解释一下: 这个图要从下往上看,为何?...大家可能以为编码开发不就是写代码吗,还有啥?——这里面道道多着呢; 最后,开发程序的目的,最终是为了能高效、稳定的运行在相应的环境中,这其中又有哪些事情需要我们去做?请期待; 3. ...而我利用jquery不仅仅停留在只使用它的API和插件上,我还会自己去写jquery插件,我还会去读jquery的源码、了解jquery的设计思路。...如果你专门做web前端,就不要在用vs了,当然要选择sublime。写html语句还用手动一条一条写吗?你得需要zencoding的协助,否则效率太差了。...另外,针对html、css、js的压缩、合并、语法检查,文件的清除、复制这些操作,你还要手动去做吗?——你需要grunt或者gulp的帮助。

    87220

    用 ReactVue 不如用 jQuery

    为了从根上解决她的焦虑,于是就有了这个标题。我知道看到这个标题,很多人第一反应是不理解,jQuery 不就是远古时代的产物吗,不都已经被淘汰了吗?它能比 React/Vue 更好?...所以我认真的思考了一下,真的有很多数据需要全局共享吗? 所以在很多年前,当我经验逐渐丰富起来的时候,我在其他客户端开发解决方案中,见识了更多的开发模式,然后我发现了这个骗局。...,因为你熟悉 jQuery 的使用的话,你就会发现这本身是再正常不过的逻辑了,但是新的官方文档确要花费大量的篇幅去解释为什么应该这样做。...然后呢,我又要花大量的心思去解释我为什么不认同官方文档的这种观点。 5 当我们在 jQuery 中能自定义组件时 我们要达成的一个共识就是,单向数据流是一个被包装出来的高大上概念。...所以如果你的团队里,还在使用 jQuery,正说明你们团队在领先世界,这是我内心最真实的想法。

    76010

    3、backbone中的model实例

    **/ })(jQuery); 下面的代码需要填到这个html的script标签中的function中。...比如你save,backbone会判断你的这个对象是不是新的,如果是新创建的则参数为create,如果是已存在的对象只是进行了改变,那么参数就为update,如果你调用fetch方法,那参数就是read...你可以在服务器根据这个request类型,来做出相应的CRUD操作。..... note:: PS:忘了解释关于url和urlRoot的事情了,如果你设置了url,那么你的CRUD都会发送对应请求到这个url上,但是这样又一个问题,就是delete请求,发送了请求,但是却没有发送任何数据...],这样你就可以在服务器端通过对url后面值的提取更新或者删除对应的对象(记录) 关于这个Backbone.sync以后可能会说到,不过目前先以简单入门为主。

    97910

    你可曾见过如此简单粗暴的JavaScript解说 -- if 判断的正确打开方式?

    这里就是取了一个巧,因为我只是想要执行右边的表达式,无所谓返回值是什么。 那么,如果score 我不管三七二十一,都去执行一下右边的代码。我们的目的已经达到了。...Paste_Image.png 我们引入了jQuery,现在希望自己来编写一个toggelClass,如何实现呢? 当我们点击这个div的时候,就自动将class换成box2。...1.gif 我猜想,jQuery对toggleClass的实现应该也差不多是这个意思。...我大概解释一下: !dom.hasClass(className) && dom.addClass(className) 这表示如果dom元素不包含你指定的className,那么 !...dom.hasClass(className) 是真,于是无论如何我都要执行右边的代码: dom.addClass(className) ,也就是说,给dom元素添加这个class。 这样一来, !

    90150

    前端-学习JavaScript是一种什么样的体验?

    我想我应该通过后端接口获取数据,然后用一个 table 来展示数据,用户可以对数据进行排序。如果服务器上的数据变化了,我还需要更新这个 table。我的思路是用 jQuery 来做。...不知道你在说什么……你说了太多我听不懂的名词了。我只是想从服务器取点数据,我以前用 jQuery 挺好的,从 CDN 引入 jQuery,我就能用 AJAX 获取数据了,现在不能这样做吗?...用 Promise 来管理回调,你就可以写出更易读的代码,更容易测试的代码。甚至可以同时发起多个请求,然后等待它们全部返回。 Fetch 也能做到吗? 是的。...那就好,不然我就得跟你解释 Flux,以及 Flux 的一些实现,比如 Flummox、Alt、Fluxible。不过说真的你应该用 Redux。 你说的这些我就当耳旁风了。...我要回后端去了,我受不这些变动、版本更新、编译和转译了,JS 社区如果觉得有人能跟上它的脚步,那这个社区就是疯了。 我理解你。我建议你去 Python 社区。 为什么?

    1.6K30

    AngularJS、React 是真的被淘汰了吗?

    面试官看我简历上写着 AngularJS,告诉我以后别用这个了,还有 React,并建议我用 Vue,说在北京,十家公司有九家公司都在用 Vue,是这样的吗,大家怎么看? ?...完全不听我解释,还说什么你要是想这样做就去说服我们十几个Java后台啊!(当时在场的Java同事还跟着哄堂大笑,虽然这些同事人很好但是有些人技术上很一般) 我:???...接下来用jQuery和一大堆插件去实现这个项目,jQuery很完美,可是太底层了,不适合这种业务逻辑复杂的后台系统,写死我了,到现在还时不时要修修改改,一想到日后还要维护这些代码我就冒冷汗…… ====...,你会说mvvm会过时吗。...有人说jquery过时了,但是有些大型业务也是用的飞起,你敢说它们不对吗?所以我认为做技术不要太追时髦,多关注可以真正提高你想法和思路的东西。

    8.1K30
    领券