您的位置:首页 > 编程语言 > Lua

怎么加少lua程序debug

2011-04-20 19:21 274 查看
错漏百出的程序,必定会影响一个程序员的声誉,得不到别人的信任,别人也不会让你负责重要的工作,也会对程序员的心理造成影响。

开始阅读这篇文章时,请记住一点,一个程序员最重要的工作不是写代码,不是测试程序结构,而是逻辑结构设计和逻辑流图。

一、设计阶段

    设计阶段一定要将整个逻辑思考清楚,只要有一点没有清楚,都不能开始编写代码,做到成竹于胸,逻辑要清晰,工整流畅。设计阶段主要是输入数据类型,逻辑数据流图和数据返回,数据的每个状态都有烂熟于心,只有这样才能开始代码的编写。千万不要拿到需求就开始编写代码,边写代码,边写逻辑,写好了在回过头来重构。这样很容易出错。

    

二、代码阶段

One>> 变量和数据配置

当使用到table存储数据时,尽量使用宏变量,这样方便以后需求的扩展

local _attr = {}

_attr[1] = "GOOGLE"

_attr[2] = "BAIDU"

这样直接使用数字的索引会在以后产生很多问题,如果改为

_MACO = {

GOOGLE = "GOOGLE",

BAIDU = "BAIDU",

}

_attr[_MACO.GOOGLE] = "GOOGLE"

_attr[_MACO.BAIDU] = "BAIDU"

Two>> 使用统一的函数接口,具有相似功能模块合并

使用统一的函数接口的好处是方便别人阅读程序,和便于修改程序,因为数据集中

比如有两个函数,GetName和GetAge

function GetName(char_id)

    return char_id.name

end

function GetAage(char_id)

    return char_id.age

end

函数这样处理不是不可以,但是当模块变大后,会产生很多接口,修改起来浪费精力,这样的接口是可以集成为一个函数GetAttr

function GetAttr(char_id,attr_type)

    if attr_type == "name"

        return char_id.name

    elseif attr_type == "age"

        return char_id.age

    end

end

Three>>尽量使用单值返回,避免多值返回,多值每个值的语义不一样,外部调用很容易出错,比如

function GetMoney(char_id)

    local total_money = BandCount(char_id)

    if total_money < 0 then

        local e_code = 60014              --错误码

        return e_code

    end

    return toal_money,e_code              --金钱,错误码

end

local my_money = GetMoney(id) 这样的函数是为非常危险的,因为将错误码当成金钱,返回值的语义改变了

Thour>>因为lua语言没有拼写错误检测的,在书写变量函数时,一定要小心谨慎

Five>>尽量使用local变量,避免删除造成语义改变

三、测试阶段

当完成一个功能,先不要急着测试,首先要做的是在逻辑上讲程序走一遍,发现没有拼写错误、逻辑错误、语法错误、语义错误时;才进行进行单元测试,单元测试时,将逻辑处理涉及到情况进行详细的分类,再按类别输入测试数据。测试永远是程序最后一个动作,而最多的是逻辑思考。永远要记住一条,世上没有完全的测试,测试只能检测到98%已经算好了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息