程序员的立身之本

孟子有云「 真诚是立身之本 」,那什么是程序员的立身之本呢?

程序员的立身之本可以从一下几个方面说起: 严谨细致、工作计划、记录和总结、编码规范。

● 严谨细致

严谨细致 —— 一种对人、对事、对自己都极为负责的态度。

为什么把严谨细致放到第一呢,因为这是一种对人、对事、对自己都极为负责的态度,这种态度将影响学习、工作、生活的方方面面,直至一生。有些人可能会说,不就是做个程序员吗?又不是造航母、造火箭、做精密仪器、或者给病人治病,就是写代码,还需要搞得那么严谨细致吗?难道真的是这样吗,至少我是不同意这样的观点!

出自《韩非子》的“慎易以避难,敬细以远大”,大意是说,谨慎地对待容易的事情,进而避免容易的事情变成难题,郑重的对待细小的事情,以免出现灾祸。其实就是古人对严谨细致的重视。记得毕业刚去公司,第一件事情,就是学习公司的严谨细致手册,公司愿意花人力、物力、财力那做一本小册子,并愿意投入时间来让新员工学习,可见其重要性。严谨细致就是认真的对待每一件事情,考虑周全,一步一个脚印的把事情做好,不放过每一个细节,把细小的事情做到极致。

怕就怕认真,怕就怕仔细,某些人大大咧咧,做事情粗心大意,学生阶段可能没什么,因为这个阶段犯错后所要承担的后果最轻的时候,但是工作后呢?如果你在腾讯或者阿里巴巴这样的大企业,你所写的每一行代码都会影响到上亿的用户;如果在写对账单的时候,少写了一个零了,那可能就是百万,千万的损失;如果因为自己粗心少写了一个括号,导致系统出现漏洞或者这个BUG查了一两个月呢。在学校的时候,每次考试,很多人会在不该丢分的地方丢分,不是因为不会做,而是粗心大意,如果就是因此少了几分而没有进入自己理想的大学,那将追悔莫及!

无论何事,都要认真对待,重视起来,即使是一件很简单的事情,即使是一场游戏。可能有很多玩游戏的朋友都有过这样的经历,一个完美的开局后,就心态就飞了,各种浪,后期被对面翻盘。认真起来,重视起来,这样才会去努力去思考一件事情的得失,进而有所提升。

认真仔细,进而少犯错,在公司将会赢得更多人的信任,老大有什么重要的事情,也愿意让你去做,同事有什么事情需要帮助,也愿意找你,因为你的行为和态度让别人很放心,这也将为自己赢得更多的机会!

严谨细致就是对自己的一种苛刻。其实能够作为程序员,智力上面都差不多,为什么别人做事情就能做得很好,而自己却不行了。很多时候就是少了对自己的严格要求,态度没有端正过来,觉得能做出来就行了,功能能做好就OK了。其实还有很多地方需要我们去做,代码写好后,是否自己已经review了?是否已经经过自己的初步测试了?哪些地方可以再优化一下?输入输出参数是否都进行了校验?异常是否都做了处理?异常是否都加了打印?是不是有更好的技术可以运用到项目中来?桌面的文档是否乱糟糟的没有整理分类?邮件是否已经归档?是否还有遗漏的文档没有写?完成本职工作,那是应该的,也是对公司应尽的责任,能够把本职工作以外的事情做好,那么就更能脱颖而出!细节决定成败,小事情如果能够做得很好,做到极致,那么将会比别人更优秀!

● 工作计划

读书时代,每天的课程都是安排好的,只需要按照课程表和老师的安排进行,工作了不一样了,公司只会给出目标和需要的结果,却不会给出计划。只有目标是远远不够的,只有目标却没有计划,容易让人迷失在路上。目标是需要经过细化后才能知道是否是可实现的,怎么去实现,需要多久时间。每天为自己的工作排排计划,也是有助于以后个人承担项目做准备,如果自己的工作都管不好,怎么能去管理更大更复杂的项目呢!在公司,难免项目和事情众多,而且会经常被各种会议给打断,如果没有计划,很有可能就忽略了某些重要的事情,引来不必要的加班或者批评。

目标是需要经过细化分解的,就像项目需求一样,只有需求,是不知道怎么去实现的,是需要把需求分解为一个个的任务才行。而且工作计划需要和时间挂钩,这样才有紧迫感,也好评估工作进度和完成效率。为什么IT行业加班严重,一方面是由于事情比较多,会议众多,还有很大一部分是由于工作没有安排好,早餐9点上班,一来就打开电脑,看看邮件,刷刷新闻,看看微博,然后泡点茶,整点咖啡,差不多就10点多了,然后再去趟厕所和同事吹吹牛什么的,就快11点了,也差不多该吃午饭了。所以,很多工作都堆到了下午来完成,那怎么不加班呢?

工作中的计划,最好按天来做,提供一个模板:

  1. 计划安排(9:00 ~ 9:30)

  2. xxx工作(xxx~xxx)

  3. 参加会议(xxx~xxx)

  4. 解决xxx问题(xxx~xxx)

  5. 回顾一天的工作(xxx~xxx)

  6. --插入xxx会议(xxx~xxx)

  7. 给家人打电话

  8. 学习xxx(xxx~xxx)

  9. 写xxx学习或者总结文档(xxx~xxx)

最终完成的时间可能和安排有冲突,没有关系,只需要按照计划的去做就好了,而且计划也是可以随时修正的。

● 记录和总结

只会工作,不会记录和总结,那就真的成搬砖的了。

在工作中,我们会遇到各种问题,甚至有些问题整了很久才解决,短时间内可以很容易回想起来,但是时间久了呢,可能就忘记了,到年终总结的时候,都不知道自己干了些什么。记录,其实是我们工作中不可或缺的东西,俗话说“好记性不如烂笔头”说的就是这个道理。

平时工作生活中,都会遇到问题、困难、得失、突发奇想的想法、对某些事情的看法或者观点,这些都是我们丰富多彩的经历,如果都记录在文档中,随着时间的流逝,个人经历的增长,那么在工作中会越来越得心应手,因为我们不会因为遇到相同的问题,而不知道怎么解决,只需要翻翻该文档,就知道自己当初是怎么解决这个问题的。这个文档会变成工作中的调试宝典、个人经历手册。看看网上的牛人,哪一个不写博客,不写技术文档的,其实这也是提升自己的一种手段。

总结,是对我们所学知识的最好检验。

如果学习知识只有输入,没有输出,和没学有什么区别,特别是对于技术知识而言,技术知识最需要吃透的,学习的时候,都有这种感觉,觉得自己学会了,但是老感觉自己差了点什么,这个时候,就需要写总结了,通过总结,才知道我们在哪些知识点是没有吃透的。而且通过总结,也会反过来逼迫我们去学习,因为当知道自己无知了,这个时候是最有动力的。

总结也是锻炼我们表达能力、写作能力的一种方式。大部分人应该都不想一辈子只干技术,如果想提升自己,那么表达能力和写作能力是必不可少的,话说『干事的,比不过写PPT的』。平时做得再好,但是在关键的时候,写不出来,讲不出来,又有什么用,不是人人都能遇到自己的伯乐!

● 编码规范

编码规范是很多程序员容易忽略的东西。因为在大多数程序员眼里,实现功能、完成任务是最大的目标,这也导致了很多程序员写的代码是一团糟,过一段时间回头看自己写的代码,往往不知道写的是什么,而且还会检查出一大堆问题。为什么会这样呢?因为忽视了编码规范的重要性。

编码规范是什么呢?编码规范是一种规则,也是个人的良好习惯。这种规则约束了我们在编码过程中应该注意的地方:文件结构、程序样式、命名规则、注释、表达式、括号、异常处理、打印等等(具体请参考林悦的 《高质量C/C++编程指南》 )。

很多人会觉得遵守这些规范,既浪费时间,也影响开发效率,这是不对的,编码规范是写出一份高质量代码的前提,也是作为程序员应当具备的基本素质。良好的代码风格,不仅仅是让自己以后方面阅读和审视自己的代码,也方便他人阅读理解。在公司一个系统的代码往往都是一个团队共同完成的,如果每个人都用自己的方式,不仅别人不好维护,也不好理解,更不利于沟通,而且还容易产生争执和冲突,这样反而影响了开发效率和进度。良好的编码风格,往往能减少错误。程序出错,往往不是逻辑错误,而是在一些简单的,让人忽略的地方出错。比如:输入参数没有判断导致程序运行异常;出错没有打印导致BUG很难定位;代码数字没有用宏替换或者定义为常量,导致修改的时候没有修改彻底,引起莫名其妙的问题;申请内存后忘记释放引起内存泄漏;编写函数的时候没有考虑到多线程,引起严重的问题。。。, 诸如此类的问题数不胜数。

那么怎么才能培养自己良好的编码习惯呢?那就是反复对照,反复修改。每次编写完代码后,就对照编程规则核对,看看是否有遗漏或忽略的地方,然后修改,再走读。刚开始可能很痛苦,但是通过这样反复长久的练习,要不了多久,自然而然就形成了习惯。

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ava实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),可运行高分资源 Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现
C语言是一种广泛使用的编程语言,它具有高效、灵活、可移植性强等特点,被广泛应用于操作系统、嵌入式系统、数据库、编译器等领域的开发。C语言的基本语法包括变量、数据类型、运算符、控制结构(如if语句、循环语句等)、函数、指针等。下面详细介绍C语言的基本概念和语法。 1. 变量和数据类型 在C语言中,变量用于存储数据,数据类型用于定义变量的类型和范围。C语言支持多种数据类型,包括基本数据类型(如int、float、char等)和复合数据类型(如结构体、联合等)。 2. 运算符 C语言中常用的运算符包括算术运算符(如+、、、/等)、关系运算符(如==、!=、、=、<、<=等)、逻辑运算符(如&&、||、!等)。此外,还有位运算符(如&、|、^等)和指针运算符(如、等)。 3. 控制结构 C语言中常用的控制结构包括if语句、循环语句(如for、while等)和switch语句。通过这些控制结构,可以实现程序的分支、循环和多路选择等功能。 4. 函数 函数是C语言中用于封装代码的单元,可以实现代码的复用和模块化。C语言中定义函数使用关键字“void”或返回值类型(如int、float等),并通过“{”和“}”括起来的代码块来实现函数的功能。 5. 指针 指针是C语言中用于存储变量地址的变量。通过指针,可以实现对内存的间接访问和修改。C语言中定义指针使用星号()符号,指向数组、字符串和结构体等数据结构时,还需要注意数组名和字符串常量的特殊性质。 6. 数组和字符串 数组是C语言中用于存储同类型数据的结构,可以通过索引访问和修改数组中的元素。字符串是C语言中用于存储文本数据的特殊类型,通常以字符串常量的形式出现,用双引号("...")括起来,末尾自动添加'\0'字符。 7. 结构体和联合 结构体和联合是C语言中用于存储不同类型数据的复合数据类型。结构体由多个成员组成,每个成员可以是不同的数据类型;联合由多个变量组成,它们共用同一块内存空间。通过结构体和联合,可以实现数据的封装和抽象。 8. 文件操作 C语言中通过文件操作函数(如fopen、fclose、fread、fwrite等)实现对文件的读写操作。文件操作函数通常返回文件指针,用于表示打开的文件。通过文件指针,可以进行文件的定位、读写等操作。 总之,C语言是一种功能强大、灵活高效的编程语言,广泛应用于各种领域。掌握C语言的基本语法和数据结构,可以为编程学习和实践打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值