随笔-60  评论-117  文章-0  trackbacks-0
夏天对多数女孩子来说是很难熬的,这意味着吃东西的时候要有节制。我呢,是觉得要是胖了吧,想起那些忍受饥饿的人们,感觉对不起国家粮食;要是饿瘦了吧,又感觉对不起父母给我的好身体。困ったな!
编程基础:
主要是关于变量和语句。
变量:
        使用变量的一般事项:
                数据认知
                轻松掌握变量定义
                变量的初始化原则
                作用域
                持续性
                绑定时间
                为变量制定单一用途
数据认知测试(32种数据类型,一个一分):
abstract data type       character variable       index       literal 
container  class          tree                              array       private
structured variable     local variable              retroactive 
container                    bitmap                          double precision
typedef                       lookup  table                referential integrity 
integer                        boolean                        stack        union
member data               enumerated type           linked list
B-tree                         string                            named constant
pointer                        floating point                variant     
value chain                 heap
评价自己的得分:
0-4分:新手,刚刚从学校毕业
15-19:中级程序员
20-24:专家程序员
25-29: 大师

轻松掌握变量定义:
       隐式声明:隐式变量声明对于任何一种语言来说都是最具危险性的特征之一。如果使用的编程语言支持隐式声明,可以这样避免:
  • 关闭隐式声明
  • 声明全部的变量
  • 遵循某种命名规则
  • 检查变量名

变量的初始化原则:
不合理的初始化数据是产生编程错误的常见根源之一。
如何避免:

  • 在声明变量的时候初始化。
  • 在靠近变量第一次使用的位置初始化
  • 理想情况下,在靠近第一次使用变量的位置生命和定义该变量。
  • 在可能的情况下使用final或者const.
  • 特别注意计数器和累加器。
  • 在类的构造函数里初始化该类的数据成员。
  • 检查是否需要重新初始化。
  • 一次性初始化具名常量;用可执行代码来初始化变量。
  • 使用编译器设置来自动初始化所有变量。
  • 利用编译器的警告信息。
  • 检查输入参数的合法性。
  • 使用内存访问检查工具来检查错误的指针。
  • 在程序开始时初始化工作内存。

作用域:
可以看作是一种衡量变量的知名度的方法, 指变量在程序内的课件或者可引用的范围。
使用作用域的规则:

  • 使用变量引用局部化
  • 尽可能缩短变量的存活时间
  • 测量变量的生存时间

减小作用域的一般原则:

  • 在循环开始之前再去初始化该循环里使用的变量,而不是在该循环所属的子程序的开始处处石化这些变量。
  • 直到变量即将被使用时再为其赋值。
  • 把相关语句放到一起。
  • 把相关语句组提取成单独的子程序。
  • 开始时采用最严格的可见性,然后根据需要扩展变量的作用域。

持续性:
持续性是对一项数据的生命期的另一种描述。持续性具有多种形态:

  • 特定代码段或子程序的生命周期(for循环中的变量)。
  • 只要你允许,他就会持续下去。(new创建的对象)
  • 程序的生命期。(全局变量)
  • 永远持续。(文件或者数据库)。

为了避免对变量的生命期产生错误的判断,可以采取以下措施:

  • 在程序中加入调试代码或者断言来检查那些关键变量的合理取值。
  • 准备抛弃变量时给他们赋上“不合理的数值”。
  • 编写代码时要架设数据并没有持续性。
  • 养成在使用所有数据之前声明和初始化的习惯。

绑定时间:
把变量和它的值绑定在一起的时间。
绑定时间一般而言,绑定时间越早灵活性就会越差,但复杂度也会降低,使用具名常量要在很多方面好于使用神秘数值(magic  number).
总结:
编码时 :使用神秘数值----不推荐
编译时: 使用具名常量
加载时:从注册表,属性文件等外部数据源中读取数据。
对象实例化时:例如在每次窗体创建的时候读取数据。
即时: 例如在每次窗体重绘的时候读取数据。
为变量指定单一用途:
原则:

  • 每个变量只用于单一用途。
  • 避免让代码具有隐含含义。
  • 确保使用了所有已声明的变量。
posted on 2007-05-07 12:15 静儿 阅读(182) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: