关于新手程序撰写风格

 曾听人说过这么一句话,通过一个程序员的编程风格,可以看出这个程序员有没有大量阅读和撰写程序的经验。虽不能这样一概而论,但多少可以看出编程风格的重要性。我这里说的编程风格,没有包括具体的编程思想等等,仅指的是撰写风格,也就是视觉上的风格。


        也许有人会不太明白或者不肖一顾,写程序就写程序嘛,写出来的程序能正确有效地运行不就可以了,管它看起来是什么样子。其实不然,许多软件公司对员工编写的代码的风格都有硬性规定,比如规定了哪些地方要使用缩排、跳格键的长度、变量命名方式、不同功能代码间空的行数等等。这样的好处是可以统一规范不同程序员所编制的代码,便于交流和交叉修改等等。


        那么好的编程风格是怎样的一个风格呢?我很难下一个准确的定义,但有几点是肯定的:编制的代码看上去要美观大方,层次分明,前后一致,清爽干净,模块清晰,便于阅读等等。下面精图数码以喜好的风格为出发点,详细地介绍一下。


    1.缩排:
        又称缩进或跳格。缩排是影响代码视觉效果的重要因素之一。我常用键盘上的按键“Tab”来完成这项工作,也有人喜欢用空格健替代之。“Tab”和空格孰优孰劣呢?我说各有各的好处:“Tab”键快捷方便,但在跳格长度设置不同的编辑器中,所表现的缩排效果不一样,甚至会发生缩排混乱;用空格来缩排,格式是固定不变的,可以写出定型的代码风格,但是需要大量重复按键,降低了编码速度。我的选择是“Tab”键,跳格长度为4格,这样程序的视觉效果很不错而且键入速度也快,至于在不同编辑器中的表现效果,只能靠统一跳格长度的设置来维持了,不过有些编辑器提供“Tab”和空格相互替换的功能,也有助于维护代码的风格。

        何时使用缩排呢?当需要层次感的时候,例如:

    void Alert(int i)
    {
        while(i > 0)
        {
            Beep(1000, 1000);
            i --;
        }
    }

        当集中定义变量的时候,例如:

    int     i;
    DWord   dwData;
    LPTSTR  lpszName;

        当函数参数过多的时候,例如:

    CreateWindowEx(
        0,
        "MyClass",
        "My Window",

        WS_OVERLAPPEDWINDOW WS_HSCROLL WS_VSCROLL,
        CW_USEDEFAULT,

 

基于51单片机,实现对直流电机的调速、测速以及正反转控制。项目包含完整的仿真文件、源程序、原理图和PCB设计文件,适合学习和实践51单片机在电机控制方面的应用。 功能特点 调速控制:通过按键调整PWM占空比,实现电机的速度调节。 测速功能:采用霍尔传感器非接触式测速,实时显示电机转速。 正反转控制:通过按键切换电机的正转和反转状态。 LCD显示:使用LCD1602液晶显示屏,显示当前的转速和PWM占空比。 硬件组成 主控制器:STC89C51/52单片机(与AT89S51/52、AT89C51/52通用)。 测速传感器:霍尔传感器,用于非接触式测速。 显示模块:LCD1602液晶显示屏,显示转速和占空比。 电机驱动:采用双H桥电路,控制电机的正反转和调速。 软件设计 编程语言:C语言。 开发环境:Keil uVision。 仿真工具:Proteus。 使用说明 液晶屏显示: 第一行显示电机转速(单位:转/分)。 第二行显示PWM占空比(0~100%)。 按键功能: 1键:加速键,短按占空比加1,长按连续加。 2键:减速键,短按占空比减1,长按连续减。 3键:反转切换键,按下后电机反转。 4键:正转切换键,按下后电机正转。 5键:开始暂停键,按一下开始,再按一下暂停。 注意事项 磁铁和霍尔元件的距离应保持在2mm左右,过近可能会在电机转动时碰到霍尔元件,过远则可能导致霍尔元件无法检测到磁铁。 资源文件 仿真文件:Proteus仿真文件,用于模拟电机控制系统的运行。 源程序:Keil uVision项目文件,包含完整的C语言源代码。 原理图:电路设计原理图,详细展示了各模块的连接方式。 PCB设计:PCB布局文件,可用于实际电路板的制作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值