关于程序常用功能小技巧 - 配置

  这位同事在哭爹骂娘啊...以前的代码,一个ConnectionString竟然配置也那么多次,而且设置代码里面还有,my god把数据库连接池搞死了...

  估计大多数人也都如此,入门的时候都喜欢用“很硬”公司AppSetting,的确很方便&Easy。些许时间后得用点“牛逼”的实现Section...,或者整个xml...

  大约大概我就那么过去,直到做游戏的时候。

  ——一个游戏(譬如说捕鱼机)一会儿一个人,一会儿6个人,甚至其他的搞不清楚多少人,写代码也烦人,弄个集合算了,读文件读到好多个就是好多个,省时省心。每个人的炮台位置不一样,角度不一样...属性还有不少,挨个写岂不是也很麻烦,对了,都想到了,持久化好了,这不就是配置文件了,格式爱用json或xml自己想,过分复杂还可以自己串行化嘛,还有带参不行扔个attribute吧。至于被串行化的类,看情况而定可以单列一个配置类,然后代码处理一下;也可以将就现成类,给需要配置的打上Attribute标记。至于反串行化,继续省点事,写个静态构造吧。——此参考当然对于稍微复杂一点的。

  很少且简单的配置,还是推崇AppSetting,毕竟都省事。

  我还是一直认为学习一个别人的配置代价是高昂,而且站在Code的角度很烦。像web(这个很多时候还没得办法)、wcf...。

  wcf我几乎是用代码的,一大堆项,如果交给不熟的人,看到都烦。再来点log的配置,让人都神经了,且往往运行中变更是极少的参数项,这个不得不说win和linux,都知道win方便,人家就是把常用的在界面显眼处show出来,复杂的不怎么用的难以理解的来个“高级”(反正给你个默认的)。那会儿被骂成“傻瓜式”,这个形容词真心不好 —— 现在的产品设计不正是需要这样吗?!苹果、互联网产品现在不也是朝着这么模式来设计吗,就给“很硬”公司贴上“傻瓜式”,不公平啊。话说回去 —— 如果wcf和log都来一火,都很复杂且还是两个,真的很烦,能用code解决用code解决,然后并为一个配置,能不改的不暴露出来,这样不坑别人也不坑以后的自己。

  没有明确的界限,毕竟配置也是给人用的,要方便合理。Section在吵了一番后,相信知道什么时间用了吧。

  

时间: 2024-10-25 21:54:03

关于程序常用功能小技巧 - 配置的相关文章

小程序开发另类小技巧 --用户授权篇

本文主要帮助大家解决部分功能接口二次授权+统一管理(包含对于wx对象的扩展)问题,例如获取地理位置信息,收获地址,录音等授权问题 小程序开发另类小技巧 --用户授权篇 getUserInfo较为特殊,不包含在本文范围内,主要针对需要授权的功能性api,例如:wx.startRecord,wx.saveImageToPhotosAlbum, wx.getLocation 原文地址:https://www.yuque.com/jinxuanzheng/gvhmm5/arexcn 仓库地址:https

windows server 下允许端口或者程序运行的小技巧

背景:在windows server服务器中,部署了一个应用程序,如http协议的应用程序时,当外网通过http协议访问网页时,就需要获得服务器的允许入站,网页内容才可以正常显示在访问者的浏览器中,否则,就无法正常显示网页,结果类似如下: 那么,怎样建立正常访问网页的入站规则呢? 通常,在测试一个网站时候,我们就会禁用windows防火墙,毕竟,禁用了防火墙,一切访问变得没有阻力.如下图所示: 而当我们正式部署网站时,windows防火墙还是应该启用的,且只能通过设置一些访问规则来让程序和网页能

常用位操作小技巧

下面对位操作的一些常见应用作个总结,有判断奇偶.交换两数.变换符号及求绝对值.这些小技巧应用易记,应当熟练掌握. 1.判断奇偶 只要根据最未位是0还是1来决定,为0就是偶数,为1就是奇数.因此可以用if ((a & 1) == 0)代替if (a % 2 == 0)来判断a是不是偶数. 下面程序将输出0到100之间的所有奇数. for (i = 0; i < 100; ++i) if (i & 1) printf("%d ", i); putchar('\n');

Python+Selenium进行UI自动化测试项目中,常用的小技巧1:读取excel表,转化成字典(dict)输出

从今天开始我将会把在项目中遇到的问题,以及常用的一些技巧来分享出来,以此来促进自己的学习和提升自己:更加方便我以后的查阅. 现在要说的是:用Python来读取excel表的数据,返回字典(dict),在脚本中进行调用 我直接贴出代码: import xlrd data_path = "F:\data" # 存放excel表的路径xlsname = "userinfo.xlsx" # excel表的名字sheetname = "Sheet1" #

Swift / Objective_C / Xcode实际开发中可能遇到的小功能小技巧总结

一:Swift3.0为视图添加旋转动画,效果如下: 代码实现: //创建动画 let anim = CABasicAnimation(keyPath: "transform.rotation") //设置相关属性 anim.toValue = 2 * M_PI anim.repeatCount = MAXFLOAT anim.duration = 15 //完成之后不移除,testView被释放,动画随着一起删除 anim.isRemovedOnCompletion = false t

程序常用的设计技巧

一.背景 程序的定义:程序=数据+算法+接口 二.常用技巧 技巧1 - 按目标设计接口做幂等设计 - 场景 背景:做任务赚积分.前端发出增加积分请求,如果收不到响应会重试. 后台开发人员:怎么判断是重试还是另一次请求? 解决方案:接口定义中需要传入原来积分是多少,增加到多少.开发人员直接将目标结果入库. 疑问:那实际生产环境发现了原来积分一样,增加到多少不一样的结果怎么办? 答疑:这说明上线的产品中肯定有漏洞或bug.怎么办?改bug呗! - 解析 幂等性设计的定义:一次和多次请求某一个资源应该

常用 JavaScript 小技巧及原理详解

善于利用JS中的小知识的利用,可以很简洁的编写代码 1. 使用!!模拟Boolean()函数 原理:逻辑非操作一个数据对象时,会先将数据对象转换为布尔值,然后取反,两个!!重复取反,就实现了转换为布尔值的效果. 2. 使用一元加(+)模拟Number()函数 原理:对非数值类型的数据使用一元加(+),会起到与Number()函数相同的效果. null转换为0 undefined转换为NaN false转换为0,true转换为1 对于字符串: 空字串转换为0 含有数字或者浮点数或者十六进制格式的数

Python+Selenium进行UI自动化测试项目中,常用的小技巧2:读取配置文件(configparser,.ini文件)

在自动化测试项目中,可能会碰到一些经常使用的但 很少变化的配置信息,下面就来介绍使用configparser来读取配置信息config.ini 读取的信息(config.ini)如下: [config]platformName=AndroidappPackage=com.sheinsideappActivity=.module.GuideActivitybaseUrl=http://0.0.0.0:4723/wd/hubfindElementTimes=10[cmd]openAppium=nod

Python+Selenium进行UI自动化测试项目中,常用的小技巧4:日志打印,longging模块(控制台和文件同时输出)

在前段时间,为了给项目中加入日志功能,就想到了 logging 模块,百度logging一大推,都是各种复制的,并没有找到自己想要的结果:我的目的很简单,就是:在把日志写入文件的同时在控制台输出,更加方便调试,我下面的代码就满足这个功能: 1 #coding=utf-8 2 3 import logging 4 import time 5 import commonparameter 6 7 class Log: 8 def __init__(self): 9 self.logname = co