首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java方法参数太多怎么办—自定义类型

通过阅读一系列文章,我发现一些解决参数列表过长的办法,或者至少这些办法可以减少参数个数、增强代码的可读性并降低发生错误的概率。任何解决问题的办法都具有优点和缺点。...本文旨在通过使用自定义类型改进长参数方法和构造函数代码的可读性和安全性。 方法和构造函数的参数列表过长会产生一系列的障碍。大量的参数不仅使得代码看起来冗余,而且使得调用起来会很困难。...同时,它又容易导致因疏忽而产生的参数移位(参数类型没变,但是因为位置改变值却改变了)。这些错误在特定情况下难以发现。...使用自定义类型一方面可以减少构造函数和方法的传参个数,另一方面又可以增强参数列表的可读性并且降低参数位置放错的可能性。...当然也有这种情况存在,即:额外实例化这些类型花费了太多的代价并且不能证明增强可读性和编译能力所带来的好处。然而大多时候这种额外的开销都是可以承受的,不会产生什么可见的坏影响。

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

    模型参数太多怎么办?用谷歌高效训练库GPipe啊

    其中能写出各种假新闻的GPT-2参数就有15亿个之多。 如果你也在训练一个参数超多的模型,那么现在有个好消息要告诉你。 谷歌在最近公布的Lingvo框架下开源了GPipe。...△不同图像分类模型在ImageNet上的表现,显示出准确度和参数数量的强相关性 从2014年到2017年,ImageNet视觉识别的冠军的准确度从74.8%提升到了82.7%,模型参数增加了36倍。...而在这三年间,GPU显存仅仅增加了3倍,因此迫切需要一种高效的神经网络训练库来解决参数太多的问题。 核心越多,参数越多 GPipe就可以减少参数模型对内存的占用。...如果没有GPipe,由于内存的限制,每个加速核心只能训练8200万个参数。 使用GPipe后,活动内存从6.26 GB降低到3.46GB,可以在单个加速核心上训练3.18亿个参数,接近原来的4倍。...用GPipe训练80亿参数的Transformer模型时,能实现11倍的加速。

    85420

    成功解决“函数用于调用的参数太少太多”问题

    个人主页:修修修也 所属专栏:程序调试及报错解决 ⚙️操作环境:Visual Studio 2022 问题描述 我们在使用C语言编写程序,特别是使用函数递归时经常会遇到编译器报错“用于调用的参数太少.../太多”,如图: 那么遇到这种情况我们该如何解决呢?...,即x和y: int power(int x,int y) 那么在后续调用power函数时就需要传给它两个参数才行,而第七行代码明显只传给了power函数一个参数,因此会导致编译器报错“用于调用的参数太少...解决方法 在搞清楚了编译器为何会报错之后,我们的解决方法也非常简单,即,将原代码改为: return x * power(x,y-1); 这样就确保了在调用函数时会传给power函数两个参数供其使用,...当然,如果你在定义函数时创建了三个甚或是更多的形式参数,那么就请务必在后续调用该函数时传给它数量相同的参数供函数使用,这样就能保证编译器不会报错啦。

    93710

    方法参数过多怎么办

    我们在编程或阅读前人的代码时,经常会看到多个参数的方法,有的甚至达到二十个,看得人眼花缭乱,不便于阅读和维护,而且参数很容易混淆,如两个参数类型同为short型,传递时相互颠倒,编译期间内不会提示报错,...7个以内,在4个以内最好,但是需要传递的方法参数就那么多,该怎么办?...一种方法是将一个方法拆分成多个方法,每个方法传递少量参数,然而有时候这些参数需要同时被使用,我们也可以使用参数对象封装这些参数,如对上面方法进行改造: class UserInfo { private...birthday) { this.birthday = birthday; } } 新方法: public void updateUseInfo(UserInfo uInfo) { // 更新操作 } 参数对象对参数进行了封装...String cardNo){ //查询相关信息 } 这个方法虽然多了个参数,但耦合度更低,对调用方更加友好。

    2.5K91

    JS拼接HTML引用变量有哪几种姿势,参数出现怎么办

    在我们写前后端交互时,最反感的可能就是拼接大量图表的工作了(html += "xxxxxxxxx...." ),记得之前写一个“急”页面,有大量的js拼接内容(类似今日头条APP的检索页面),拼接代码写了几千行...因此,对于JS拼接HTML的引用变量,我总结了几个常见的情况; 1.int类型,可以直接进行拼接 var intA = 5; html += ' 字符串。 var objectC = {"icon": "蔡虚坤唱跳rap.jpg....处理方法: 1.将对象各属性拆开,分成一个方法的多个参数进行传递。(推荐) #为什么推荐方法1呢?...因为参数啥样的都有,十分的杂,如果放在一起,出现错误后很难排查问题,或许会闪瞎我们的铝合金gou眼(如下),已吐。 ?

    3.9K40

    js获取URL参数

    js获取地址栏的字段参数和字段值,通过js函数获取 例如: https://test.com/?name=roger https://test.com/hello?...name=roger 在本例中,我们有一个名为name的查询参数,其值为roger。 你可以有多个参数,像这样: https://test.com/hello?...除了has()、get()和getAll()之外,URLSearchParams API还提供了一些其他的方法,我们可以使用它们来遍历参数: forEach()迭代参数 entries()返回一个包含参数...key/values的迭代器 keys()返回包含参数键的迭代器 values()返回一个包含参数值的迭代器 其他改变参数的方法,在页面中运行的其他JavaScript中使用(它们不改变URL): append...()向对象追加一个新参数 delete()删除现有参数 set()设置参数的值 我们可以使用sort()对参数进行键值排序,并使用toString()方法从这些值生成查询字符串。

    46.3K00
    领券