vb编程的七个优良习惯

高效编程习惯:VS 自定义代码模版 对于开发人员来说,开发效率是非常的重要的。但是代码的规范是重中之重。因为他决定程序的可维护性。        在使用VS进行开发的人,如果是一个老手的话,一般都会听说过一个叫Resharp的插件吧。可以提升代码的规范程度 和一些常见错误的提示。可以清楚的看到不必编译才能看得到的错误。        接下来,就以Resharp为例,配置自定义代码模版。当然,如果没有安装Resharp也可以使用代码 阅读详情
Sancy Xu(xuqizhi@chinamet.com)


1、"&"替换"+".
在很多人的编程语言中,用“+”来连接字符串,这样容易导致歧义。良好的习惯是用“&”来连接字符串.
不正确:
dim sMessage as string


sMessage="1"+"2"


正确:
dim sMessage as string


sMessage="1" & "2"
注意:"&"的后面有个空格.


2.变量命名大小写,语句错落有秩
下面大家比较一下以下两段代码:
读懂难度很大的代码:
dim SNAME as string
dim NTURN as integer



if NTURN=0 then
if SNAME="sancy" then
end if
Do while until NTURN=4
NTRUN=NTURN+1
Loop
End if
容易读懂的代码:
dim sName as string
dim nTurn as integer


if nTurn=0 then

if sName="sancy" then

end if

Do while until nTurn=4
nTurn=nTurn+1
Loop
End if


3.在简单的选择条件情况下,使用IIf()函数
罗索的代码:
if nNum=0 then
sName="sancy"
else
sName="Xu"
end if
简单的代码:
sName=IIF(nNum=0,"sancy","Xu")


4.尽量使用Debug.print进行调试
在很多初学者的调试中,用MsgBox来跟踪变量值.其实用Debug.print不仅可以达到同样的功效,而且在程序最后编译过程中,会被忽略.而MsgBox必须手动注释或删除.
不正确:
MsgBox nName
正确:
Debug.pring nName


5.在重复对某一对象的属性进行修改时,尽量使用with....end with


6.MsgBox中尽量使用图标
一般来说
vbInformation用来提示确认或成功操作的消息
vbExclamation用来提示警告的消息
vbCritical用来提示危机情况的消息
vbQuestion用来提示询问的消息


7.在可能的情况下使用枚举
枚举的格式为
public enum
...
end enum
好处是加快编程速度

VB实现窗体标题栏闪烁效果指南 在Visual Basic(VB)中,窗体是应用程序的主窗口,是用户与程序交互的主要界面。自定义窗体操作不仅能够提升用户界面的美观性和功能性,还能增强程序的交互性和用户体验。在这一章中,我们将从基础的操作开始,逐步深入了解如何在VB中进行窗体的自定义操作,包括改变窗体的外观、添加控件、响应用户事件以及实现特定的用户交互。用户界面是用户体验的重要组成部分,而窗体是用户与软件交互的直接界面。通过自定义窗体操作,我们可以极大地提升用户体验,使其更加直观和高效。在Windows操作系统中, 阅读详情

相关推荐

VB的编程习惯

VB的编程习惯,考试中常考容易出错的知识点,值得一看

开发人员应该采用7种编程习惯

编程是一个很有趣、容易的事情,但是编写好的程序可能是一项艰巨的任务。在大多数情况下,我们发现自己绞尽脑汁,试图了解我们撰写的意大利面条代码,或者是因为新添加的次要功能而进...

Java 架构师之路 815

systrace分析 之 问题初步定位

如下surfaceflinger空缺点,上面对应的bufferTX 中有buffer,但VSYNC-SF 过来后,SurfaceFlinger却没有去取,检查测试app “android.settings”, 也没有GPU completion 时间长的问题,所以该部分可以请SurfaceFlinger的owner 进一步确认为何不取buffer。. GPU拿的是acquireFence HWC拿的是releaseFence, GPU是绘图,HWC是合成显示,这两个是互相等待的关系,

yangzex的专栏 3195

[转帖]VB编程的七个优良习惯

1、"&"替换"+"2、变量命名大小写,语句错落有秩,源代码维护方面3、请养成以下的“对象命名约定”良好习惯4、在简单的选择条件情况下,使用IIf()函数5、尽量使用Debug.Print进行调试6、在重复对某一对象的属性进行修改时,尽量使用With....End With7、MsgBox中尽量使用消息图标,这样程序比较有规范8、在可能的情况下使用枚举 1、"&"替换"+"在很多人的编程语言中,用

1224

从仿真到现实:BeamDojo双足机器人项目实战指南(附完整配置清单)

本文提供了一份基于BeamDojo项目的双足机器人从仿真训练到现实部署的完整实战指南。详细拆解了硬件选型(如宇树G1、Jetson Orin NX、Livox Mid-360)、Isaac Gym仿真环境搭建、强化学习训练技巧(如双评论家架构、课程学习)以及关键的Sim2Real迁移策略,旨在帮助开发者将前沿研究成果转化为可落地的工程实践。

hhh00的博客 877

【Codesys】获取从站信息,判断是否从站断联,总线丢失

获取EtherCAT从站信息,判断是否从站断联,总线丢失

qq_35316470的博客 5732

VB编程的七个优良习惯

1、"&"替换"+"2、变量命名大小写,语句错落有秩,源代码维护方面3、请养成以下的“对象命名约定”良好习惯4、在简单的选择条件情况下,使用IIf()函数5、尽量使用Debug.Print进行调试6、在重复对某一对象的属性进行修改时,尽量使用With....End With7、MsgBox中尽量使用消息图标,这样程序比较有规范8、在可能的情况下使用枚举 1、"&"替换"+"在很多人的编程语言中,用

950

用化学方法nmp溶剂从佳能cmos传感器上剥离拜耳矩阵和微透镜

将光刻胶暴露于 NMP 溶剂中 10-15 分钟,并进行轻微的机械搅拌,将溶解的光刻胶从基材表面带走,即可去除大部分光刻胶,之后再进行第二次溶剂浴,以洗去微量含有光刻胶的溶剂。我还担心传感器的校准问题,我觉得可以大致解决这个问题,比如在安装面上用刻度尺标记三个螺丝的位置,然后数着拧出螺丝的圈数,直到听到“咔哒”声(螺纹完全拧出)。我还担心传感器的校准问题,我觉得可以大致解决这个问题,比如在安装面上用刻度尺标记三个螺丝的位置,然后数着拧出螺丝的圈数,直到听到“咔哒”声(螺纹完全拧出)。在我看来,这是必读的;

qq_40247880的博客 1476

【转】VB编程的八个优良习惯

VB编程的八个优良习惯 1、"&"替换"+" 2、变量命名大小写,语句错落有秩,源代码维护方面 3、请养成以下的“对象命名约定”良好习惯 4、在简单的选择条件情况下,使用IIf()函数 5、尽量使用Debug.Print进行调试 6、在重复对某一对象的属性进行

Fighting with Winston Shao 686

Vue+ECharts-GL 3D地图实战:5层叠加打造炫酷中国地图(附完整代码)

本文详细介绍了如何利用Vue和ECharts-GL构建具有强烈立体感的3D中国地图。通过5层图层的巧妙叠加与样式调校,实现了从背景阴影到交互高光的完整视觉层次,并整合了动态飞线与散点标记。文章提供了完整的代码实现、核心配置解析以及性能优化与视觉调优的实战技巧,帮助开发者快速打造专业级的交互式地图可视化应用。

d6e7f8g9h的博客 651

kivy--入门(一)(Windows)python

从零开始学习kivy 由于课程需要写一个app,还要写报告,这就很愁人,头秃,脑壳大。 虽然学过Android,但是小编对于Java就像对牛弹琴似的,不能说完全不懂,只能说Java这个语言不太适合我,不学还不行,还是先利用python的kivy编写一个吧。 在各大网站搜索开发app,发现适合写手机app的除了Android还有kivy,所以还是先学习如何使用吧! 文章目录从零开始学习kivy前言一、安装二、添加按钮+标签三、文本输入(TextInput)总结 前言 首先推荐这篇博客kivy的安装和使用

刘念卿的博客 9969

全国计算机vb考试编程,计算机等级考试VB编程8个优良习惯

导语:当我拿到计算机等级考试证书的时候,真的很激动。下面就由小编为大家带来计算机等级考试VB编程8个优良习惯,希望对大家有所帮助!1、"&"替换"+"在很多人的编程语言中,用“+”来连接字符串,这样容易导致歧义。良好的习惯是用“&”来连接字符串.不正确:Dim sMessage As StringsMessage = "1" + "2"正确:Dim sMessage As Stri...

weixin_39726873的博客 196

在VSCode中使用LaTex+(grammarly语法检测,chatgpt翻译,Sumatra PDF 轻量级pdf阅读器)

整个文章分为以下几个内容,打 * 的是必须要安装的。

u011895157的博客 2万+

Visual Basic编程的七个优良习惯

  来源:chinaitlab,http: //desktop.chinaitlab.com/VB/717674.html  1、"&"替换"+".  在很多人的编程语言中,用“ + ”来连接字符串,这样容易导致歧义。良好的习惯是用“ & ”来连接字符串.  不正确:  dim sMessage as string  sMessage = "1" + "2"  正确: 

鹰击长空 617

109. SAP ABAP 应用程序中的锁机制和工作原理介绍

SAP ABAP 系统中的锁概念,是 SAP ABAP 为了保证`数据一致性`而引入的一种保护机制。 像 SAP 这种复杂的企业级应用,系统中同一时间段的同一份数据,可能会有多个 Transaction(终端用户或者 API )同时进行读写操作。为了防止出现数据不一致,SAP ABAP 引入了锁机制。 这种锁机制并非数据库服务器层面的锁,而是在 SAP ABAP 应用服务器层面上工作,加锁和解锁都由专门的 ABAP Function Module 来完成。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1468

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

VB编程的8个优良习惯

1、"&"替换"+" 2、变量命名大小写,语句错落有秩,源代码维护方面 3、请养成以下的“对象命名约定”良好习惯4、在简单的选择条件情况下,使用IIf()函数 5、尽量使用Debug.Print进行调试 6、在重复对某一对象的属性进行修改时,尽量使用With....End With 7、MsgBox中尽量使用消息图标,这样程序比较有规范 8、在可能的情况下使用枚...

weixin_34392843的博客 111

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

2011年计算机二级考试:VB编程8个优良习惯

<br />  1、“&”替换“+”  在很多人的编程语言中, 这样容易招致歧义。 良好的习气是用“&”来衔接字符串。   不正确:  正确:  留意:“&”的后面有个空格  2、变量命名大小写, 源代码维护方面  下面大家比拟一下以下两段代码:  VB编程读懂难度很大的代码:  容易读懂的代码:  3、请养成以下的“对象命名商定”良好习气  引荐使用的控件前缀  控件类型前缀例子

www.missun.info 谜尚missha 381

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

初三计算机考试vb,计算机等级考试VB编程8个优良习惯(1)

1、"&"替换"+"在很多人的编程语言中,用“+”来连接字符串,这样容易导致歧义。良好的习惯是用“&”来连接字符串.不正确:Dim sMessage As StringsMessage = "1" + "2"正确:Dim sMessage As StringsMessage = "1" & "2"注意:"&"的后面有个空格2、变量命名大小写,语句错落有秩,源代码维护...

weixin_30810127的博客 342

vb编程软件_计算机编程语言的应用

摘 要:自1945年世界上第一台计算机诞生,迄今不过70年的光景,计算机却已经实现了翻天覆地的变化。在计算机的一系列变革中,编程语言一直发挥着无可替代的重要作用。有鉴于此,有必要对计算机编程语言的应用进行探讨。本文先概述了计算机编程语言的大三类型,进而通过介绍VB、C++和Java三种编程语言及其应用,清晰地展示了VB、C++和Java编程语言的优缺点,从而帮助读者选择更适合自己的计算机编程语言。...

weixin_39939904的博客 872

计算机编程(vb),计算机等级考试VB编程8个优良习惯(1)

1、"&"替换"+"在很多人的编程语言中,用“+”来连接字符串,这样容易导致歧义。良好的习惯是用“&”来连接字符串.不正确:Dim sMessage As StringsMessage = "1" + "2"正确:Dim sMessage As StringsMessage = "1" & "2"注意:"&"的后面有个空格2、变量命名大小写,语句错落有秩,源代码维护...

weixin_26872311的博客 160

VB的天地,横看成岭侧成峰

前言 横看成岭侧成峰,远近高低各不同。不识庐山真面目,只缘身在此山中。这是苏轼那首著名的《题西林壁》,经历过汇编、C/C++,再来回看VB时,这首诗是再适合不过的了。之所以Windows能稳坐PC霸主的宝座,源自于微软早期对计算机的深刻理解。 在《以史为鉴,编程语言,启示录之系统觉醒》中,给大家揭示了操作系统的觉醒,最根本的原因就在于人机交互。而鼠标驱动下的窗口界面,将人机交互的便捷性推向了至今都无法超越的高度。Windows宁愿放弃更优良的性能表现,也不放弃高效的人机交互,这是Linux快的原...

BtOfficer博客 369
上一篇: 在C#中为DATAGRID控件增加一个删除按钮的一种方法
下一篇: ASP.NET编程中的十大技巧
lee2001xp
博客等级 码龄23年 1粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值