程序编码是 [科学] + [艺术]

来个新人, 问了一个他迷茫的问题。
我不好直抒, 就把感觉写下来当回复了吧!

程序编码是一种 科学 + 艺术
科学是指要 - 厘清算法, 建立架构, 设定基准:
事件驱动, 顺序架构逻辑?
时间间格基准, 中断层级决定?
决定好主轴了后,
构思 例外状况? 错误如何处理?
再推演逻辑合不合理?
不合理就推倒重构!
先动脑想好, 再动手,
先下手不一定强,砍掉重练会秃头的。
程序编码是 [科学] + [艺术]_第1张图片
那艺术在哪呢?数学
这世界最实诚的东西就是数学,会就会,不会就是不会。

算法就是数学, 递归就是最好的例子。

最大公约数 func(m,n) = func(n,m%n)

/**
 * 最大公约数 func(m,n) = func(n,m%n)
 * 1. 找重复(规模更小);n一直变化——子问题
 * 2. 找变化;变化的量 作为参数
 * 3. 找边界;出口
 */
int16_t   func(int16_t  m, int16_t  n) 
{
		if(n == 0) {
			return m;
		}else {
			return   func(n,m%n);
		}
}

算法算的好, 程序就能精简, 或是跑得快, 或是能塞进更小容量ROM. 这就是价值! 就能去追逐那百/千万年薪的梦吧!

如果梦不大, 可以考虑搞嵌入, 稳扎稳打。
老婆孩子热炕头, 安安稳稳的小日子。

你可能感兴趣的:(生命,嵌入式硬件)