- 熟悉文档,从中能够发现任何事物
- 开始运用perl文档,输入perldoc perl
- 先了解你自己,那样才能更好的了解程序
- 用向前进的动力,而不是用想逃避的问题去激励自己
- 如果不能表达为自然语言,就不能用perl进行描述
- 每一个项目都采用同样的风格
- 对于比较难注释的部分,用POD注释
- 尽量使声明的变量更易理解
- 在所有的程序中使用 -w 和 use strict
- 使用 use diagnostics 解释出错信息
- 尽可能在最里层创建变量
- 如果有很多同一个 $_ 实例的显式引用,就可以用命名的变量代替
- 当使用while循环设置了$_时,如果$_可能被用于其它地方,那就先保存它
- 当函数应该带参数而没有带的时候,在函数的后面加上空括号
- 当优先级不明确的时候使用括号;括号不会破坏运算符的优先级
- 在检测较低级键值存在之前,如果较高键值可能不存在,就先检测较高键值是否存在
- 在进一步开发程序之前,消除所有可能产生警告信息的因素
- 在早期阶段就声明子程序,避免子程序与Perl的内置函数冲突,或者使用&调用自定义的函数
- 不要把数组传递给那些通常需要标量的内置函数
- 不要指望循环变量在循环结束后保留它的值;如果确实需要它们,直接保存它们
- 采用Data::Dumper模块打印任何变量或层次结构数据的格式化数据
- 选项尽可能设置到最方便的输入界面
- 通过单行检测可以构造小代码的原型
- 通过检查散列的引用,而不是检查散列本身,调试器可以以更友好的格式输出
- 用户程序中的语法错误可能不仅仅发生在Perl提示的行中,它可以在这一行之前的任一行中
- 只处理Perl返回的第一个出错信息,不管其他的,然后进行编译
- 不要从一个程序的不同地方进入相同的文本并指望使它们保持同步
- 尽量使错误在编译时出现而不是在运行时出现
- 了解你的操作系统
- 通过捕获异常并合理地对其进行处理来增强程序的防错能力
- readir()返回目录中的文件名列表,但是目录本身并没有将这些文件名合法化
- Deparse模块通常能够解释Perl是如何分析您的代码的
- 千万不要用条件去限制my语句
- 首先对代码进行可读性与可维护性的优化;对其性能的优化在需要进行优化的工作版本成形后进行
- 利用Benchmark模块比较不同代码策略下的相对速度
- 利用Devel::DProf模块找到程序的“瓶颈”所在
- 在进行循环的时候,应该尽快的结束循环
- 带有通用参数的Memoize函数调用
- 尽可能利用Perl的内部函数而不是调用外部程序
- 不要生成不必要的列表
- 避免不必要的拷贝操作
- 避免临时文件
- 利用Exporter把一系列普通常量放入模块中,并在需要的地方调用模块
- 如果有可能,在您正在开发的Web服务器上得到一个交互式的登录。如果办不到,考虑采用其他的服务方式
- 创建CGI程序时,从一开始就进行感染检查。在已有的程序中加入 -T 进行感染检查是一种不明智的作法,麻烦并且令人失望
- 将CGI程序从命令行开始运行,以检查它是否能够按照正确的顺序产生正确的输出
|
|
|
随笔:0
文章:3
评论:0
引用:0
| | 日 | 一 | 二 | 三 | 四 | 五 | 六 |
|---|
| 31 | 1 | 2 | 3 | 4 | 5 | 6 | | 7 | 8 | 9 | 10 | 11 | 12 | 13 | | 14 | 15 | 16 | 17 | 18 | 19 | 20 | | 21 | 22 | 23 | 24 | 25 | 26 | 27 | | 28 | 29 | 30 | 1 | 2 | 3 | 4 | | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
|
常用链接
留言簿
文章档案
收藏夹
c/c++/算法
entertainment
IT社区/论坛
linux
opensource
others
QT
web
汇编
开放平台
链接
流媒体
名人博客
求职/面试/笔试
图形图像
搜索
最新评论

|
|