一个好的C程序员应该做到

一个好的C程序员应该做到:

1.在运行程序之前存盘

2.所有在程序中用到的常量都用预处理语句在程序开头定义

3.所有在程序中用到的函数都在程序开头声明

4.头文件的#ifndef

5.变量名和函数名使用有意思的英文单词或汉语拼音

6.尽量少用全局变量或不用全局变量

7.采用层次的书写程序格式,对for,while,if_else,do_while,switch_case

等控制语句或他们的多重嵌套,采用缩格结构

8.所有对应的{}都对齐

9.尽量用for,而不用while做记数循环

10.尽量不用goto语句

11.一个函数不宜处理太多的功能,保持函数的小型化,功能单一化

12.一个函数要保持自己的独立性,如同黑匣子一样,单进单出

13.函数的返回类型不要省略

14.malloc()分配内存空间时,以后一定要用free()释放

15.打开文件后,记住在退出程序前要关闭

16.出错情况的处理

17.写上必要的注释

这里说的是一些基本的,经常遇到的情况,还有其他很多要注意的地方,在实

际编程中都会遇到.

我们应该怎么写程序? 
第一阶段: 纯学习 和 入门

初学程序的大学,通常是在纸上写程序,然后去机房上机的时候,输入,运行。(调试基本不会。)

因为上机,机会是难得的,时间是宝贵的。那时候的策略:

1. 在纸上能写出正确到甚至完美的程序。

2. 尽快需要学会盲打,甚至买了一个键盘卡片来练手感,甚至有同学找来了小霸王学习机键盘。




总结,那时候应该是打下了良好的面向过程的编程基础。

今天看来,教材上的例子代码异常丑陋、风格垃圾、思路混乱,当时却视其为经典。不知道如今有无改善。

那时候书(教材和图书馆的)是唯一的学习入口。哪有机会可以时刻用PC




第二阶段:进入状态

参加工作后,那时候公司网络时有限制,代码写了不少,一般程序都是现写现调,甚至于懒散到让编译器来检查输入的错误。

已经熟悉甚至依赖调试,不动脑子,凭本能去写逻辑和流程。主要的三大学习和日常借鉴入口:

开发工具的参考手册(MSDN

codeProjectckbase等少数的几个网站

公司前辈的遗留源码

这种状况,一直持续到现在。




那时候基本策略: 快速找到并熟悉某个API某个MFC类,从MSDN

快速找到codeproject某个功能的例子代码,并实现。扩展前辈的功能等等。




总结: 大部分代码都自己写,从常用的基础功能库,到业务逻辑,到整体框架。

累的半死,拖了很长的时间。尤其是在费劲的做了2个完全一手打理的产品之后。

却有一种程序员常有的那种虚假的造物主感觉。







第三阶段: 迷茫

在几个产品,开发严重落后于进度,质量严重低于预期,并出现困局。

并在局部功能的开发能力和整体架构方面遇到个人发展到瓶颈。

时常能找到的安慰借口是 个人产能有限,并且人月是个神话。

再牛的小聪明和土办法,在科学家的论文面前,不堪一击!

明明只是一种坐井观天!!!闭门造车,出门肯定是车毁人亡。




网络时代,最大的特点就是开放。其实我们这个时代已经不一样了,

如今实现功能,甚至于一个solution,只要有足够的耐心,总能找到开源的东西。

于是我们需要的仅仅是这3个能力:

1. 英语读写能力,把需求写成几个关键词去搜索,能把下载的源码的接口文档看懂,能把某个论文的算法思路搞清楚

2.搜索能力,目标,开源源码、论文、算法描述

3.整合能力,目前几乎大部分开源源码都是linux下,整合到工程中,还是需要以前的编程积累。

于是,你知道怎么写 或者说 怎么用 程序了吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值