delphi程序设计改进可读性一法
Delphi,Lazarus程序设计改进一法
作者:steven
QQ:1565498246
Delphi/Lazarus有一个思想就是方法、函数名调用,后边可以不使用括号(),比如调用函数Now,这使得程序看上去是访问一个局部变量,降低了程序可读性,所以本方法提出:
1.将局部变量加小写L前缀;
2.将方法调用全部加(),防止和变量名混淆,使代码可读性降低。比如调用函数Now ,正确的方法是 : Now()
我们来看具体实例:
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;
type
{ TfrmMain }
TfrmMain = class(TForm)
btnTest: TButton;
procedure btnTestClick(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
frmMain: TfrmMain;
implementation
{$R *.lfm}
{ TfrmMain }
procedure TfrmMain.btnTestClick(Sender: TObject);
var lNow:Tdatetime;
begin
lNow := Now(); //这里的Now() 过程本来按pascal语法可以不要(),但可能和下面的代码混淆
self.caption := formatdatetime('yyyy-MM-dd',lNow);
end;
end.
===================================================
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;
type
{ TfrmMain }
TfrmMain = class(TForm)
btnTest: TButton;
procedure btnTestClick(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
frmMain: TfrmMain;
implementation
{$R *.lfm}
{ TfrmMain }
procedure TfrmMain.btnTestClick(Sender: TObject);
var Now:Tdatetime;
begin
//Now := ;
self.caption := formatdatetime('yyyy-MM-dd',Now); //我们可以 ,这里的now不是调用的标准库的函数
end;
End.
输出的是没有初始化的日期数据。
同样,我们需要将方法,自定义函数,过程,都加上(),举例如下:
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;
type
{ TfrmMain }
TfrmMain = class(TForm)
btnTest: TButton;
procedure btnTestClick(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
procedure test();
end;
var
frmMain: TfrmMain;
implementation
{$R *.lfm}
{ TfrmMain }
procedure TfrmMain.btnTestClick(Sender: TObject);
var Now:Tdatetime;
begin
//Now := ;
//self.caption := formatdatetime('yyyy-MM-dd',Now);
test();
end;
procedure TfrmMain.test();
begin
self.caption := 'this is a test';
end;
end.
<a href="http://files.cnblogs.com/stevenlaz/Delphi%2CLazarus%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E6%94%B9%E8%BF%9B%E4%B8%80%E6%B3%95.pdf">本文PDF格式下载</a>
delphi程序设计改进可读性一法的更多相关文章
- delphi程序设计之底层原理
虽然用delphi也有7,8年了,但大部分时间还是用在系统的架构上,对delphi底层还是一知半解,今天在网上看到一篇文章写得很好,虽然是07年的,但仍有借鉴的价值. 现摘录如下: Delphi程序设 ...
- delphi程序设计之底层原理(有些深度)
虽然用delphi也有7,8年了,但大部分时间还是用在系统的架构上,对delphi底层还是一知半解,今天在网上看到一篇文章写得很好,虽然是07年的,但仍有借鉴的价值. 现摘录如下: Delphi程序设 ...
- 简单Delphi程序设计
- Delphi的文件操作
参考自:http://www.cnblogs.com/railgunman/articles/1800318.html Delphi 中默认有input 和 output 两个文件变量,使用可以不用定 ...
- 【转】资源文件在Delphi编程中的应用
段东宁 计亚南 (郴州职业技术学院, 湖南 郴州 423000) 摘要: 资源文件是一种能有效地组织.管理和使用资源的文件形式,在软件开发中有着广泛的应用.本文详细介绍了在Delphi编程中资源文件 ...
- Delphi中实现MDI子窗体(转)
Delphi中实现MDI子窗体 用MDI实现浏览子窗口,具有窗口管理功能,同屏观看多个网页的内容 ① 多文档窗体(MDI) MDI窗体是一种具有主子结构的窗体体系,微软的Word便是其中的一 ...
- Delphi的文件操作(定义,关联,打开,读写,关闭)
参考自:http://www.cnblogs.com/railgunman/articles/1800318.html Delphi 中默认有input 和 output 两个文件变量,使用可以不用定 ...
- Delphi基本图像处理方法汇总
这篇文章主要介绍了Delphi基本图像处理方法,实例汇总了Delphi操作图像实现浮雕.反色.模糊.翻转等常用效果的方法,非常具有实用价值,需要的朋友可以参考下 本文实例汇总了Delphi基本图像 ...
- ActiveX数据对象之事务控制在VB和DELPHI中的应用
本文发表在中国人民解放军"信息工程大学"学报 2001年第3期. ActiveX数据对象之事务控制在VB和DELPHI中的应用 ...
随机推荐
- jquery 获取表单的用户输入值的方法
以前的表单中的select input textarea的用户选择输入是通过jQuery的val()方法获取到的,在三一Java前端大拿教我了一个方法可以不用那么麻烦获取数据,只要在这些表单元素上加n ...
- php导出excel不知道列数 php26进制函数
function num2Letter($num) { $num = intval($num); if ($num <= 0) return false; $letterArr = array( ...
- mui-当使用addeleventlisener()方法绑定事件时选择器无法绑定事件
在mui中绑定事件不能用jQuery或mui(“#XX”)的形式选取某个元素,而是document.getelementbyid()的形式 mui(“#XX”)可以使用on方法绑定事件
- 10.18号java课后作业代码
import java.util.*; public class T { public static int a=0; public T() { a++; System.out.println(&qu ...
- 第八篇:Jmeter的分布式测试
一: 由于Jmeter本身的瓶颈,当模拟数以千计的用户并发的时候,使用单台机器会有些力不从心,甚至还会引起Java内存溢出的错误,要解决这个问题,就要使用分布式测试,运行多台机器,也就是所谓的Agen ...
- web 浏览器窗口window 与框架 frameset 的关系
如果页面包含框架,则每个框架都拥有自己的window对象,并且保存在frames集合中,可以通过数字索引(从0开始,从左右到右,从上到下)或者框架名称来访问相对应的window对象. 每个window ...
- 虚拟机VM下CentOS7部署WASND9+HTTP9
本地操作系统:WIN10(64位) 虚拟机:14.1.1 build-7528167 安装环境:CentOS7 64 软件版本:IM 1.8 WAS 9.0+HTTP9.0 一.安装CentOS7 ...
- SystemVerilog 带输出的task
1.task 的定义,输出定义为数组. /*- genRndPkt(): Generates random packet with the given length.*/ task genRndPkt ...
- Linux 下 mysql的基本配置
Linux 下 mysql的基本配置 2013年02月27日 ⁄ MySQL ⁄ 共 3000字 ⁄ 暂无评论 ⁄ 被围观 2,483 views+ 1. Linux mysql安装: $ yu ...
- Js学习(2)数据类型
Js共有六种数据类型(ES6又增加了第七种Symbol类型的值): 原始类型:数值,字符串,布尔值 合成类型:对象(object):各种值组成的集合 其他undefined,null 对象又可以分成三 ...