编程小常识总结之一

c++编程小常识 记录一些c++编程中用得着的小常识,先说一下环境: 系统:windows 10 x64 1909 编译软件:CodeBlocks 20.03 编程语言:C++ 编译器:编程软件自带编译器 int的最大值、最小值 int占4字节 32bit int 的最大值 2147483647 int 的最小值 -2147483648 系统中有定义好的int型的最大值与最小值,其他类型有没有我没看,不常用。 #include<iostream> using namespace std; int main() 阅读详情

好久没光顾自己的小店了,最近忙得一P,实在是不堪重负啊!月初一个人被派来北京,天天让客户围着转连写代码的时间都没有,白天跟他纠缠晚上加班还要学习电力知识----实在是崩溃,上周同事的到来实在是给自己减压不少。

 

最近遇到了好多不爽之事:首先是数据库连接没有释放,导致WEBLOGIC两天死一次----连接池连接分配完了!根据日志显示,绝大部分来源于WEB程序,领导让彻查JSP。奶奶的JSP绝大部分都是我写的,肯定不会有问题!但就是不知道为什么问题都出现在JSP方面呢?

 

这几天在修改GUI程序(考核系统有客户端和WEB端,客户端相当于后台管理)的时候发现同事的代码中数据库连接都没有释放掉,难怪抛出那么多连接数据库失败的异常呢!没办法,先查CS程序吧!我靠,真惊了,这都写了些什么?想起《重构》中的一句话:真是个绝佳的小丑!虽然之前已经领教过大家的代码水平,但还是不免为之一震。记得前阵子在修改别人代码的过程中我就差点吐血,哎,现在真是"血"上加霜啊!

 

鉴于此,在修改过程中我觉得发现很多问题,总结一下自己的心得:

 

1、一些公用的类库(比方说时间格式处理,数据类型转换),应该说在每个系统中都是必不可少的,建议由专门的人员维护这一部分并打包,编写说明文档,让使用者清晰可见都有哪些功能可用,从而避免把类库COPY或重复写到模块中;

注:我们的客户端是按模块来打包,在每个模块中都把公用代码COPY了一遍,有的修改过有的没有修改(公共类代码开始时由我开发维护),结果我现在累得一P,每个类要改十几遍!

 

2、变量的定义,重构中讲,应该能望文生义或者说必须望文生义,过多的注释也是一种冗余;

注:我们的程序中有定义全局变量int a,JTextArea t4(鸟知道是个啥意思^_^),一个类2000行只有一行注释,我还是宁愿看到注释冗余的代码!

 

3、变量的定义,变量定义在该出现的位置,只有在使用的时候才定义,而且每一段代码应该在程序中以注释或空格行来作为间隔,一段代码也应该以实现一个功能为标准(也许只是逻辑概念上的功能,比方说赋值、循环);

注:重构中的延迟对象的创建跟上述有点相似,但上述仅以可读性为准则!

 

4、if else return的运用,如果在if后跟return请不要再画蛇添足else。例如if (true) { return;}  else {...};

注:从重构角度讲,这应该算是代码的可读性吧?

 

5、方法中的代码量太多,把成块的代码提取出来组成另一个方法,合适的方法名同样容易望文生义;

注:前天听同事说他遇到个家伙一个类写了8K行代码!估计这家伙是想搞死谁!

 

6、数据库连接,老生长谈的问题了,打开后必须释放,网上有各种优雅的方式来释放连接;

注:前天领导给我的一两个文件.java和.jsp----一个高人写的,只可惜小弟才疏学浅,只见在.java文件中打开连接,没找到关闭之所在,后来经另一高人点拨,才发现在.jsp中关闭----所有的业务处理和数据返回都结束才关闭!个人以为,这种方式效率肯定高,因为只开关一次数据库连接,但同时风险也很大:其一,要保证程序的健壮性,如果有异常肯定关不掉;其二,个人一直不把.jsp当作正规军,虽然它会被编译成servlet,但我觉得跟html混在一起很容易忽略掉关闭连接!

 

7、同一个方法中两次连数据库,不要用同一个变量或者说不用类中全局的变量,以免有释放不掉的情况;

注:简单地讲,对象在我们可见的范围内也就是变量(引用),引用一旦指向新的对象,之前的对象便不可重获,从而也就关不掉连接!比如我们的代码的在保存数据时好多要先执行删除操作,在保存中调用删除,如果用全局变量就会出问题。

 

暂时先写这么多吧,后期再不断更新,反正我还要继续被绝佳的小丑蹂躏着!

Python爬虫实战:5分钟搞定Web of Science文献批量导出与解析(附完整代码) 本文提供了一套利用Python爬虫技术,快速实现Web of Science文献批量提取与解析的完整方案。通过解析官方导出的HTML文件,结合BeautifulSoup和pandas库,可将文献数据自动转换为结构化的Excel/CSV表格,帮助科研人员高效管理文献信息,节省大量手动整理时间。 阅读详情

相关推荐

手把手教你用DCA1000EVM解析IWR6843毫米波雷达数据(附MATLAB代码)

本文提供了一份详尽的实战指南,手把手教你使用DCA1000EVM采集并解析TI毫米波雷达IWR6843的原始数据。内容涵盖硬件连接配置、mmWave Studio参数设置、LVDS数据流结构解析,并附有核心MATLAB代码,详细演示了从原始二进制文件到距离-速度谱的信号处理全链路,帮助开发者快速掌握数据解析与处理的关键步骤。

terraform7cloud的博客 227

编程入门:五个你必须知道的编程常识

当我们谈论编程时,大多数人首先想到的是写代码。这是正确的,但并不完整。编程不仅仅是写代码,而是解决问题的一种方式。编程是一种工具,我们使用它来创建能够解决特定问题的产品和服务。比如,你想开发一个手机应用来帮助人们更有效地管理时间。你需要编写代码来实现应用的各种功能,如设置提醒、制定计划等。但是,这还不够。你还需要考虑用户如何使用这个应用,如何设计界面使之更易用,如何优化应用性能让其运行更流畅,等等。因此,编程不只是编写代码,更是思考问题、设计解决方案、实现功能、测试产品、优化性能等一系列过程的整合。

2301_78095812的博客 3097

Xilinx SDK工程编译、链接、调试注意事项

1、添加工程 启动SDK时选取workspace,如下图所示: 对应的workpace文件夹中会生成如下几个文件: 如果当前workspace是首次加载工程,SDK会进入启动界面 点击Import Project,导入已有工程 点击Browse,添加工程路径,一个完整的工程包含一个bsp文件夹,一个HW文件夹,和一个src文件夹(添加C功能函数) 点击Fini...

Autumn_He的博客 1万+

编程的必备基础知识

C语言基础常识

m0_68335861的博客 2万+

CentOS校园网Web Portal认证自动化实战

Web Portal认证是一种基于HTTP重定向与表单提交的强制网络准入机制,其原理是网关劫持未认证流量并跳转至登录页,验证通过后通过Cookie维持会话授权。该技术广泛应用于高校、机场、酒店等场景,核心价值在于细粒度访问控制与用户身份绑定。典型应用包括Linux命令行环境下的校园网接入、无GUI设备的自动联网、以及实验室集群的集中认证管理。本文聚焦CentOS系统,深入解析curl、cookie持久化、动态表单参数提取等关键技术环节,提供可调试、可复现、可工程化的完整认证流水线。

weixin_30522983的博客 264

PX4 磁罗盘干扰分析

无人机上的电机电流会干扰无人机上搭载的磁罗盘,PX4官方提供了一些方式,通过分析飞行日志,判断电机是否对磁罗盘有严重影响。

Zecet的博客 3357

编程小知识

Question: What Are The Advantages/Disadvantages Of One-Based Vs. Zero-Based Genome Coordinate Systems   https://stackoverflow.com/a/22074424 很好地解释了NumPy arrays是如何存储和引用的。...

runningwei的博客 411

Python re库【正则表达式操作库】全面讲解及代码示例

以下是Pythonre库的全面讲解,包含主要功能、常用方法及代码示例。完整代码和注释附后。正则表达式(Regular Expression)是用于匹配、查找、替换字符串的工具,通过特定语法定义模式。?{n}[...][a-z]A|B\d[0-9]\D\s\S\w\Wre从字符串匹配模式,返回Match对象或None。在字符串中第一个匹配项,返回Match对象或None。返回所有匹配项的。返回所有匹配项的Match对象)。替换匹配项,返回新字符串。根据模式分割字符串,返回列表。通过。

记录点滴 1161

16-python基础知识-网络编程

网络编程 相关概念 OSI七层模型:开放系统互连参考模型 (Open System Interconnect 简称OSI)是国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)联合制定的开放系统互连参考模型,为开放式互连信息系统提供了一种功能结构的框架。它从低到高分别是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。 TCP/IP:在OSI七层模型的基础上简化出来的...

宁宁和珩珩 237

扫码登录原理

扫码登录功能通过PC端与移动端的交互实现安全认证,分为三个阶段:待扫描阶段生成唯一二维码ID并轮询状态;已扫描阶段移动端提交token与二维码ID关联,生成临时token并要求用户确认;确认阶段验证临时token后为PC端生成正式登录凭证。整个过程通过二维码唯一性、状态轮询和二次确认机制确保安全性,防止未授权登录,最终完成跨设备认证流程。

阿杰同学的博客 343

NXP S32k3 MCAL ADC配置

S32K3 配置MCAL ADC

Leon_0125的博客 5068

关于网络编程的小常识

网络编程 相关概念 OSI七层模型:开放系统互连参考模型 (Open System Interconnect 简称OSI)是国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)联合制定的开放系统互连参考模型,为开放式互连信息系统提供了一种功能结构的框架。它从低到高分别是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。 TCP/IP:在OSI七层模型的基础上简化出来的一套网...

weixin_44279511的博客 160

Open3D点云算法与点云深度学习案例汇总(长期更新)

Open3D-python算法专栏文章汇总,长期更新算法原理与实战案例。

纵马踏花向自由 7463

【整理】编程小常识

从计算机发明至今,随着计算机硬件和软件技术的发展,计算机的编程语言经历了以机器语言、汇编语言、高级语言分别为主要编程语言的几个阶段。 使用机器的指令系统来编写计算机应用程序,这种程序称为机器语言程序。程序占用内存少、执行效率高。编程工作量大,容易出错;依赖具体的计算机体系,因而程序的通用性、移植性都很差。 使用助记符号来表示计算机指令的语言被称为符号语言,也被称为汇编语言。便于检查和修改程

DOMO 716

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

编程小常识

#------------------------------------------------------------------------------------ #2022-03-03 python 中去掉数组重复记录: global list billlist =list(set(vlist)) #去掉重复记录; #--------------------------------------------------------------------------------...

i168wintop的博客 1081

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Java编程小常识

快捷键使用:   ctrl+shift+f快捷键,自动排版 ctrl+shift+o快捷键,自动引入包

AI蜗牛之家 1100

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

学习PLC编程必须要知道的小常识,一起学起来

学习PLC编程必须要知道的小常识,一起学起来 1 PLC自身故障判断 一般来说,PLC 是极其可靠的设备,出故障率很低。PLC 的CPU 等硬件损坏或软件运行出错的概率几乎为零;PLC 输入点如不是强电入侵所致,几乎也不会损坏;PLC 输出继电器的常开点,若不是外围负载短路或设计不合理,负载电流超出额定范围,触点的寿命也很长。 因此,我们查找电气故障点,重点要放在PLC 的外围电气元件上,不要总是怀疑PLC 硬件或程序有问题,这对快速维修好故障设备、快速恢复生产是十分重要的,因此笔者所谈的PLC 控制回路的

TT13018636633的博客 478

编程小常识总结之二

今天又被代码蹂躏了一整天,继续昨天的话题! 8、代码的copy,从一个类到另一个类,或者从一个方法到另一个方法(好像for循环copy的比较多一些,我也经常这么用),也许copy来之后可以直接用也许要经过些许修改;注:《effective java》中提到:for循环代码的copy往往是错误的根源,其主要原因是copy来的循环变量可能存在潜在的问题!《practical java》中讲

我的青春谁做主 535

Android,Java编程小常识

1.对于所导入的包,首先要clean一下,然后再找错误 2.错误处理过后,有可能会有更多的问题,还要clean一下,这是因为在你改变了程序或引入新的jar包之后,电脑可能还没反应过来,所以clean一下就会好一些。

Elise1的专栏 363

JS编程小常识很有用

S是一门计算机编程语言,是一门动态语言也称为脚本语言,是解析型编程语言。需要了解跟多 1.JS中的是是非非  JS是一门计算机编程语言,是一门动态语言也称为脚本语言,是解析型编程语言。为什么是脚本?因为他本身不能执行,就是没有main函数或主程序的入口,必须被他的宿主环境,也就是解析环境解析执行他。为是什么是解析型?因为JS不会进行编程,链接,汇编等一系统的过程生成某个文件,再

pais - 和尚吃肉 572

编程语言的小常识

【代码】编程语言的小常识。

m0_59001573的博客 311

java编程之前需要了解的几个小常识

1.首先来几个英文缩写的含义       javaSE 标准版       javaEE 企业版       javaME 微型版          sdk:soft developement kit,开发工具包,包含jdk       jdk:java developement kit       jre:java runtime environment       jvm:java虚拟机

依然的小花园>>>>呼啦啦啦花开啦 240

sqlserver中,sql编程的几个小常识(个人整理)

1、取出刚刚插入(删除)的数据SELECT 字段名 FROM INSERTED(DELETED)2、对于UPDATE实际上是先DELETE然后再INSERT所以如果想得到UPDATE前后的数据值,应该先从DELETED取出,然后从INSERTED取出;3、IF UPDATE(列名)可以判断更新或插入哪一个字段的值;4、@@ROWCOUNT可以判断上一行查询操作得到的列数;5、给变量赋值用SET @

赵小刀的文字吧 1118

黑马程序员 第二天 NET 入门初级.NET编程基础(一)

------------------ Windows Phones 7手机开发、.Net培训、期待与您交流! ----------------------  一些新手最基本的东西在看课程视频时随手记下的东西,没有须序,实时上后来发现也不好整理顺序,但大多是些简单实用的东西,没有官方的说法. 1.       C#源文件组成:在C#的源文件中命名空间中可以包含类,类中可以包含方方,方法中在写

前方辉煌 970
上一篇: JTable隐藏表格的某列
下一篇: 编程小常识总结之二
transit136
博客等级 码龄20年 14粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值