qi777ji 发表于 2021-8-18 10:02

读好书《电子工程师自学手册》读书笔记之03 程序

<div class='showpostmsg'> 本帖最后由 qi777ji 于 2021-8-18 10:02 编辑

<p>今天看到了MCU的驱动和编程这几章,虽然涉及到的MCU的型号老了点,但是可以看出作者是很用心的,都是先解释原理,再详细说明,之后是详细的例程,最后还有程序说明。程序应该都是自己一行一行写出来的,几乎每一行 都有注释,而且注释的很详细。还配有相关图片说明解释原理,在这当前浮躁的时代里已经很少见了。对于初学者这是很宝贵的。</p>

<p>&nbsp; &nbsp; &nbsp; 我注意到一个问题,就是程序变量命名。我觉得很有必要讨论,如果你是自己写一些程序自己看看,那也无所谓。但是一般稍大一些的公司会对程序编写有规范或SOP,这样方便程序的维护,可能很多人都有这样的经验,看有些人的程序如同在看天书,毫无规律和条理性。一般公司很强调规则和统一,如果某人突然离开了他写的程序后面的人就没有办法维护,一个无法维护的程序是不可持续的就变成了垃圾。比如局部变量的名称要有意义。不要用x,y,z等等(除用于For循环变量中可使用i,j,k,l,m,n)。好的变量命名规则让人一目了然,在加上合理的注释就知道程序在做什么。<br />
常用变量命名规则有:一、匈牙利命名法【Hungarian】在变量名前加上相应的小写字母的符号标识作为前缀,标识出变量的作用域,类型等广泛应用于象Windows这样的环境中。<br />
比较老了也很复杂,估计用的人也不多了。<br />
二、骆驼命名法(驼峰命名法)【camelCase】混合使用大小写字母来构成变量和函数的名字,除第一个单词之外,其他单词首字母大写。近年来越来越流行了Windows这样的环境中,它使用得当相多<br />
三、帕斯卡命名法【PascalCase】与骆驼命名法类似。只不过骆驼命名法是首字母小写,而帕斯卡命名法是首字母大写 &nbsp;<br />
四、下划线法 是c出现后开始流行起来的,我个人习惯将下划线法。</p>

<p>g_iRelayTriggerOff是一个匈牙利命名法。<br />
&nbsp;relayTriggerOff是一个骆驼命名法。&nbsp;<br />
&nbsp;RelayTriggerOff是一个帕斯卡命名法。<br />
&nbsp;relay_trigger_off是一个下划线命名的示例<br />
&nbsp;Relay_Trigger_Off 下划线+帕斯卡---如果有必要!其实我更喜欢这种!!!(顺便说一下,你喜欢并不代表你可以在公司里用!现实是如此的残酷!苦逼的打工人!)</p>

<p>如果你是个大神,公司离不开你,那么你可以尽情的写一些天书一样的程序,让后来人无路可走!<img height="50" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/facebook/wanwan33.gif" width="58" />!!<br />
改变一个人的编程风格很难,但是一定要选一个适合公司的风格,因为公司不可能适应你,只有你适应公司,这个过程很痛苦,一定要养成良好的编程风格,下次接着看书吧!</p>

<p>&nbsp;</p>

<p>&nbsp;</p>
</div><script>                                        var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;"   style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
                                       
                                        if(parseInt(discuz_uid)==0){
                                                                                                (function($){
                                                        var postHeight = getTextHeight(400);
                                                        $(".showpostmsg").html($(".showpostmsg").html());
                                                        $(".showpostmsg").after(loginstr);
                                                        $(".showpostmsg").css({height:postHeight,overflow:"hidden"});
                                                })(jQuery);
                                        }                </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script>

soso 发表于 2021-8-18 13:54

<p>命名规则都这么多种,哈哈,主流的,大众的是哪个?</p>

qi777ji 发表于 2021-8-20 15:27

soso 发表于 2021-8-18 13:54
命名规则都这么多种,哈哈,主流的,大众的是哪个?

<p>骆驼命名法,帕斯卡命名法,下划线命名法应该比较常用吧!<img height="50" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/facebook/wanwan33.gif" width="58" /></p>

hqli126 发表于 2021-8-21 11:40

对程序编写有规范或SOP,这样方便程序的维护
页: [1]
查看完整版本: 读好书《电子工程师自学手册》读书笔记之03 程序