作者存档: 奔跑 - 第4页

for循环第二个表达式使用多重条件的写法

for循环有三个表达式,第一个表达式进行测试,只在循环开始的是自学一次;第二个表达式是判断条件,每次执行循环之前进行求值,如果为假则循环结束;第三个表达式在每次循环结束时进行计算。这里三个都是表达式,那么就意味着可以进行运算。

有时候我们希望for循环判断两个条件来结束循环,有时候希望每次循环结束后改变两个变量的值,这样的表达式该怎样写呢?

这里就要说说逗号运算符。在C语言中,多个表达式可以用逗号分开,其中用逗号分开的表达式的值分别计算,但整个表达式的值是最后一个表达式的值。

因此for循环的第二个表达式条件判断时应该使用 && 和 || 等关系运算符,而第三个表达式可以使用逗号运算法。例如:

for (i=0,j=0; (i<10)&&(j<5); i+=2,j+=1)
{
……..
}

该for语句的作用是,每次循环开始前判断i<10和j<5是否同时成立,循环结束后修改i和j的值。

开发者最佳实践 – 总结

作个总结!

如果只是编码,那是很容易的事。但是如果想要成功一名优秀的程序员,软件开发者需要付出巨大的努力,并投入大量的时间和精力来练习。编程老手可能会写下一个成千上万行的最佳实践列表,但是最好还是让我们吸收那些容易消化和领悟的部分。

保证你的列表尽量小,但是在你的整个开发生涯中严格的遵循它!

将来,或许你的孩子会用到它……

如果你的孩子们幸运地成为软件开发人员,譬如,程序员,工程师,我保证,有些最佳实践(指南)会被你的孩子用到,因此,让我们一起来改善这个列表。

如果你喜欢这个向导,那请把它分享给他人,也欢迎告诉我那些地方可以改进:Feedback

这是这个系列文章的最后一篇。前序文章链接如下:

局部变量使用指针方式赋值可能会导致异常

从协议解析数据是为了提高效率,我常常使用指针直接操作内存地址来替代移位操作,如下 :

    *((u8*)&a+1) = *(pbuf + 0);
    *((u8*)&a+0) = *(pbuf + 1);

继续阅读 »

开发者最佳实践11 – 职业规划

如今的职业生活是多变的,要跟上这样的变化我们需要适当的职业规划。

当你开始你的软件编程职业生涯时,你可能还不知道你在这个行业里会有怎样的表现,虽然你相信不论你做什么都能以最好的方式完成。

所以,花些时间了解你自己,你的长处和短处是什么,基于你3-4年的工作经验,你有些不同的选择:

  • 你想永远做个软件开发人员吗?这可能是一个很好的选择,有很多人热爱一直编码。
  • 如果你非常善于设计软件模块并且你过去的设计得到很多赞赏,那么你可以考虑技术方向,成为一名首席架构师。
  • 如果你擅于管理事情,有很好的指挥他人的能力,有说服力,那么你可以往管理角色方向发展,可以从带领一个小团队开始。
  • 你可能擅于管理事情,有时候还有好多架构感,那可以考虑做技术主管,这样你可以继续从事设计工作,同时管理团队和项目。

不论怎样,你必须要清楚你想去哪儿。

继续阅读 »

博客的目标是知识总结和分享

我的独立博客是从2010年年初开始的。其实可以从更早说起,09年刚毕业工作的时候。

其实我一直有把网上搜集到的资料保存起来的习惯,在学校的时候是把资料保存到Word,感觉放到自己硬盘里是最放心的,呵呵。工作以后因为在公司保存的资料想在家里看,就用百度空间写日志的方式保存下来。其实那时候根本还没有个人知识管理的概念,可能天生就爱总结,爱反思吧。

后来,想要做个在线同学录,就自己学习web编程,用asp.net写了个在线信息提交页面,这个过程中了解到了博客系统。觉得自己造轮子的行为比较愚蠢,打算整个博客,在博客上开发个插件来实现同学录。当时选择了PJBlog,因为PJBlog是中文的,要支持,呵呵。打那以后,就开始了我的独立博客。把百度空间的不少文章到搬到了PJ。用了PJ之后才知道有更好的博客系统WP,而且PJ后来没落了。11年的样子有转到WP。 继续阅读 »

减法也很必要

去年弄了个台式机,伴随我近7年的 ThinkPad R50 就很少开机了,后来开机密码忘记了,最近去华强北弄好了,小本又可以正常使用了,但是觉得反应慢。

正好最近总想着人生需要做减法,那就从小黑开始吧。卸载不常用的软件,删除那些可有可无的文件,以前总是认为以后可能还有用,其实几年以来一直都没有看过!

然后还想到是不是要来个磁盘整理呢,找到一个简单好用的小工具 Vopt 9,小花了点时间,效果不错!小黑,依然帅气O(∩_∩)O哈哈~。

人生不也是这样吗?常常也需要做减法,也需要常常整理。

明确目标,立即行动——《自己就是一座宝藏》读书笔记

第一次看到这本书的标题大概是09年,当时就牢牢记住了这本书的标题。去年偶然又想起了这本书,发现作者是陈安之,这个名字也是去年才听说,而且一直也对此人有些反感,但我并不了解此人,豆瓣看了下这本书的书评,觉得还可以,就上图书馆找来这本书,拿到手上才发现是本很薄的小册子,感觉几年前看到的没有这么薄,……读完这本小册子,感觉还是有些收获,故分享读书笔记如下。 继续阅读 »

Python在嵌入式开发中的应用——数据示波器

Python在嵌入式开发中的应用
引言
在嵌入式开发中我们常常要进行数据分析、算法设计、原型验证、自动化测试、辅助工具设计,每个环节的工作效率对整体的开发都非常重要。选用一个好的辅助开发工具是非常必要的。Python作为一门解释型语言,容易上手,应用广泛,拥有众多功能强大的第三方库,开发平台轻量化,不想VS,非常适合嵌入式开发中的辅助开发。

1 本文概要
本文主要介绍使用Python实现一个类似于示波器,能实时观察传感器数据的辅助工具。这个需求源于项目的需要,使用这个工具能实时观察sensor数据的变化,并对实时数据做简单分析,对算法设计有很大的帮助。通过后续更新可以加入算法,实时验证算法,进行原型验证。本文首先介绍需要使用的Python相关库,然后介绍工具的使用情况。
继续阅读 »