纠结的问题

1.工具类中,配置,数据库连接,日志等这些系统基础性的变量或常量,通过参数的方式传入好,还是通过import导入好?

参数传入的好处:该工具类与当前系统的依赖性比较低,可以很容易地把该工具类移植到其他系统,

import导入的好处,工具类的上层不需要关注太多配置,数据库连接和日志这些东西,也就是调用接口时比较方便。

1. 一般底层模块需要的配置较少,采用参数形式以减少依赖提升重用
2. 业务层模块配置较多,采用模块形式以降低使用复杂度,一般来说业务层重用几率也不高

2.底层函数出现问题,例如发送http请求失败了,这时候把错误return给上层好,还是抛出异常好?

把错误return给上层:上层不需要捕获异常,但是上层需要判断这个rerun是正常的return还是异常的return,例如判断return为空就认为异常。如果出现异常,上层需要知道具体的细节,例如什么原因异常了?是域名有问题,还是远程拒绝访问,还是远程的服务器异常了(500),就要约定return的类型,return就会非常复杂。

时间: 2024-08-16 00:59:13

纠结的问题的相关文章

新写了一个控制器,结果粗心导致出现了一个问题纠结了半天

新写了一个控制器,结果粗心导致出现了一个问题纠结了半天     误信息如下: 经过逐步排查发现时因为我的方法中用了一个Model ,却把Model的包引入错误所以造成上面的问题: 错误引入的包为:import com.sun.tools.xjc.model.Model; 正确的包为: import org.springframework.ui.Model;

shell if判断(曾经被一个字符串相等的判断纠结半小时,最后只是if后少了个空格!) 和 awk引用外部变量判断

一.if判断 数字: $A=12 $B=15 if(("$A"<"$B")) if(("$A"=="$B")) 字符串: $A="HELLO" $B="WORLD" if [ "$A" = "FACT_LOGIN_USER" ] if [ "$A" = "$B" ] PS:字符串比较的时候注意 'if'

选课不再纠结!10个课程搞定Java!

身在茫茫的课程海洋的童鞋们,是不是很迷茫?数百个课程我该学哪个?这个课程质量怎样啊?学院课程小管家整理出了最受欢迎的10个Java类视频课程~迷途中的童鞋们终于不再纠结了!!!10各课程包含了初中高3各阶段,小管家是不是很贴心^_^ 大家有想要的专题欢迎在评论中说明哟,管家会根据需求的情况,进行下一个专题的选择~~~~ (一)  小白进阶必学~ 1.http://edu.51cto.com/course/course_id-4191.html 刘英杰 课程名称:JavaWeb(JSP+servl

买显示器的各种纠结

第一个纠结:买TN屏还是IPS屏? 就我个人来说,对TN屏情有独钟,但看看评论曰IPS对TN各种吊打...搞的我下了技嘉GTX970Gaming1和山业DP线的订单,把三星4k TN屏的订单撤销了.事儿还没完,准备下Dell U2515H或P2415Q的订单的时候,又听说这块面板是6bit抖成8bit的,还有无漏光不戴尔的雅号.明天显卡和DP线就要来了,主角丢了. 资料显示,TN屏都是6位的,但现在也没有8位面板的消息,倒是说京东方的10.5代生产线上的是8k面板,所以像我这样的普通用户--既非

万恶的KPI、新兴的OKR及让人纠结的程序员考核

最近两天在研究研发部门如何进行绩效管理(其实一直都在思考,关注,实践,总感觉无从下手,也想求助咨询公司,无奈囊中羞涩).查了两天的资料,主要的方向是KPI,OKR,谷歌等互联网公司的考核方法.这里做个简单的整理与总结,记录一些自己思考的结论. 1.KPI万恶论 说KPI毁了索尼都是扯淡,很多大公司如BAT都在用KPI,发展有目共睹,虽然网上曝出各种弊端,但是没有KPI可能更差.企业的生老病死也是自然规律,更多是由外部的大趋势决定的,每次企业大规模的死亡与淘汰都是整个时代在飞速发展而进行正常的新陈

SVN在使用过程中比较纠结的问题记录

对于代码版本管理工具,作为程序员,或多或少,都遇到一些奇葩的问题,我把自己曾经对于SVN遇到的问题做一个记录,废话不多说,直接上正文. 1.在Eclipse中使用远程导入工程时,提示:文件夹””已不存在. 特别说明下,这种错误在连接本地的svn情况可能不会出现,但是如果当你连接到远程服务器的svn这种情况可能就会出现,当初的时候我也是在代码提交本地SVN未出现报错,但是一提交服务器的SVN就会报错,搞得我纠结了好久. 2.Eclipse中添加新的资源位置报错,svn: Number is lar

机房收费重构——关于面向对象和分层的纠结

机房收费系统的重构已经开始很久了,最近两天才感到有了一点儿头绪. 对这次重构,刚开始计划的是先做数据库,然后优化下,列出每个窗体对表的访问关系,抽出常用的访问作为存储过程,然后把访问数据库的常用方法封装成SqlHelper.这部分就是数据库的部分. 然后就是软件的结构:整体上是分了七层:三层+实体+外观+抽象工厂+D层接口.虽然计划的很好,但是在具体分层这里想了很久. 最先是对D层开始下手的.D层是什么?是对表的访问,将对数据库的读取和写入都封装成D层的类,那么,类又按照什么分呢?后来想了想以前

webstorm 和 vscode 的纠结

自从知道了 vscode 之后,尝试了一下后,就开始纠结是否要更换到vscode. 特别是在 webstorm 卡的时候. 也研究了几日 vscode,安装了许多插件. 我是安装插件后, 就开始学习快捷键. 虽然纠结, 不过转换也是非常快.一般查看下自己用的几个快捷键.然后看看是否支持 snippet 功能, 在webstorm 中是 Live Template, 自从发现了webstorm中的 live template,我才算真正的喜欢上这个 webstorm.同样在 vscode 中也是支

纠结的CLI C++与Native C++的交互

最近在写点东西,涉及到了CLR C++与Native C++的互相调用的问题,结果...........纠结啊. 交互原型 交互原型是这样的: void* avio_alloc_context( unsigned char *buffer, int buffer_size, int write_flag, void *opaque, int (*read_packet)(void *opaque, uint8_t *buf, int buf_size), int (*write_packet)(

买手机,继续纠结中

昨晚睡得很晚,今上午也没有去图书馆,为了调研手机这个市场,果然有利可图的市场水很深,混迹多年的人都不一定玩的转,我这个门外汉,只有坚信,不抱有任何的侥幸心理,抵住一切低价诱惑,这才是真理.随便说一下,侥幸和幸运是两回事,侥幸是明知山有虎,偏向虎山行,幸运大多数是未知的! 早上不作为,感觉自己接了一副烂牌,开端是不好的,只有靠后半天的努力来挽回这一天的颓势.还是把精力投入到更重要的事情上来.下午开始,慢慢的看一些文献,然后放入到自己的文章中,但是却发现一个问题,看到的东西,往往理解不透彻,用的时候