一个程序员的编程好习惯

这篇具有很好参考价值的文章主要介绍了一个程序员的编程好习惯。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1 写工作日志。

我一直有大量写笔记的习惯。编程的时候,也经常遇到一些麻烦的问题,思路转瞬即逝,于是把所有这些思路记录下来,会在以后的搜索中成为重要的灵感来源。

我的工作日志里通常以项目为单位,包含四个重要的章节:

简介
设计
项目
日志

1.1简介

记录一个项目的概要性信息,举几个例子:

项目的负责人是谁?关联方都有哪些人?以便我遇到问题时可以迅速找到对应的人,尤其是大厂经常有跨部门合作,不认识的关联方很多,不记录一下是很难的
服务器连接信息,比如测试服务器的地址,访问URL,数据库,MQ,各种常见的调试用入口都是值得记录一下的
技术文档入口,比如公司的wiki里跟项目相关的wiki的URL

1.2设计

用来记录各种设计思路。包括把项目的各个部分进行拆解后的大模块,模块之间的接口,架构设计等等。

多个小节里记录各个部分的设计思路。尤其是经常有多种设计,可以再分一级目录来记录。每种设计都会有自己的特点,还可以开个表格做对比。比如某个方案的实现速度快,另一个方案可以利用成熟的设施,还一个方案的风险很小,一个方案很炫酷适合以后做分享等等。

这些设计的细节,使得以后寻求代码以外的思路时可以迅速的找到当初的思路。毕竟,很多技术细节,并不是仅仅依靠代码就能看懂的。

1.3 项目

项目进度管理用的,我会做个树形图,把每个工作都分拆的足够细致。并用颜色记录每个工作的完成程度。白色标识未开始,黄色是进行中,绿色完成,红色失败。有些带有一定技术风险的项目,同一个功能模块可能有几个技术方案备选,其中一些方案失败也是常态。

尤其是我用SVG图来整理整个树形图,每个节点都是可点击,通过HTML铆点到页面内工作项的具体卡片,来看这个工作项的具体描述。比如更详细的设计思路,实现过程,调研结论等等。

用树形图的方法,也就是项目管理领域常见的WBS方法。

经常是一个项目部署后还会有各个阶段的开发目标。比如功能修改。那么就可以每次子项目开一个小节,记录一下此次的需求方,需求内容等等。这样到年底要整理一年做过的事情时,就会非常有条理。

1.4日志

记录每一天的工作内容。每天一个小节,以日期为标题。

有时候做实验较多,就会在一天中开多个卡片,每个卡片对应一次实验的过程。前面是控制变量,中间是实验结果,后面是对实验结果的简单分析,以便下次实验改进。

格式与搜索
熟悉我的朋友知道,我的笔记格式是reStructuredText,编译工具是一个只有2MB的docutils。生成HTML页面,而源码通过git管理。这样整个笔记库都可以通过grep来进行高效率的搜索。这可比那些源文件是专有格式的方便太多了。

2在开始编码之前先规划和组织代码

在项目的开始阶段,不要上手直接写代码,一定要先确定代码的分层和架构。该分层和架构在一定程度上决定了未来整个项目的代码风格和维护性,对于项目的长期维护,代码架构的设计是一件非常重要的事情。
代码架构可以提供更好的可读性和可维护性。

2.1避免大块重复代码,小块也不行

一个非常好的编程习惯是确保为代码创建函数或类,以便有时重用。当你的编码过程中多次出现重复的代码块,这样很臃肿、很鸡肋,你就应该想他们是否应该封装成一个函数或类。
专门为可以反复使用的功能构建专用文件。例如,数据库调用(例如打开数据库连接,选择数据,插入数据,更新数据,删除数据和关闭连接)都应该转换为函数。通过不必重写冗余代码行,也会使你的工作变得更加容易。你需要做的就是调用该函数,简单、清洁、而且容易。

2.2使用易于阅读的命名约定

无论你正在开发什么类型的代码,命名约定都很重要。你创建的变量名称,函数名称,类名称和任何其他程序名称越人性化,你后续的开发和引用就会越容易。因为所有代码并不都是同一天写的,而且一个项目往往由很多人共同参与,好的命名约定可以大大提高编码效率,还可以降低你在同事心中的傻逼程度。

2.3注释所有代码,即使它看起来很明显

就算它写在脸上,也一定要注释、注释、注释。因为当你正在处理代码的时候,它肯定是易懂的,不然你也写不出来这样的代码。

2.4在构建时测试和调试代码

每次创建代码块时,都应该对其进行测试和调试,以确保它正常工作。不要蒙头就是写,然后写完了之后在调试,避免为了找到错误而筛选数百或数千行代码。不仅需要在构建代码时测试和调试代码,还需要确保打开所有错误报告,以便在实际操作中实际查看错误。比如PHP,你还需要确保在php.ini文件或user.ini文件中打开这些设置,该文件通常位于根目录中。

3 遇到不清楚或不懂的知识点,先去看官方文档

很多官方文档是英文的,硬着头皮也要看!看着看着就习惯了。
刚开始读英文文档会费时间和精力,但是等你回过头来再看,你会觉得这才是最恰当的选择。

4勤于思考

1、对代码规范及编码有自我要求;
2、保持思考,向别人描述问题时尽量告诉自己再多思考一下,看能否找出更深层次的原因;
3、试着找别人要反馈,特别是那些水平比你高的人。文章来源地址https://www.toymoban.com/news/detail-434073.html

到了这里,关于一个程序员的编程好习惯的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 一个程序员的工作日记--每天就干两件事,一年后让别人刮目相看

    在当今快节奏的社会中,人们的精力和注意力往往被分散到太多的事情上,从而影响了工作效率和成就。但是,如果我们能够专注地做一两件事情,那么就可以把它们做到极致,进而发掘自己的潜能,实现成功和成就。成功源于专注,这已经成为了一个不争的事实。 每天早上

    2024年02月11日
    浏览(39)
  • 2023 程序员职业发展规划:除了写代码,程序员还能做什么工作?—— 有一个问题直击我的灵魂深处:如果我不想再当程序员了,该怎么办?

    有一个问题直击我的灵魂深处: 如果我不想再当程序员了,该怎么办?   关于这个问题我后来思考了很久。我带产品和技术团队将近十年了,我意识到自己遇到了新的挑战。所以今年夏天,我开始了自由技术写作。很快我便意识到,技术写作完全可以作为程序员转型后的职

    2024年02月05日
    浏览(50)
  • 和月薪5W的阿里程序员聊过后,才知道自己一直在打杂...

    前几天和一个朋友聊面试,他说上个月同时拿到了腾讯和阿里的offer,最后选择了阿里。 阿里内部将员工一共分为了14个等级,P6是资深工程师,P7是技术专家。 其中P6和P7就是一个分水岭了,P6是最接近P7的不持股员工,P7开始就是持股员工,由于有股票分红,所以工资不能按

    2023年04月24日
    浏览(44)
  • 和月薪5W的京东程序员聊过后,才知道自己一直在打杂...

    前几天和一个朋友聊面试,他说上个月同时拿到了腾讯和京东的offer,最后选择了京东。 京东内部将员工一共分为了14个等级,P6是资深工程师,P7是技术专家。 其中P6和P7就是一个分水岭了,P6是最接近P7的不持股员工,P7开始就是持股员工,由于有股票分红,所以工资不能按

    2024年02月06日
    浏览(64)
  • 程序员的职场,光有技术是不行的,送给每个即将工作的程序员

    又是一年五月份,大批量学计算机的学生又要涌入职场了,牛皮的已经早早找到了工作, 但不管你技术再牛,在程序员的职场,光有技术是不行的,你还要懂得一些职场的雷坑和上升技巧。 我做了二十多年程序员,踩过不少雷,今天就把我的经验分享给大家,希望你们能在

    2024年02月04日
    浏览(63)
  • 程序员如何使用chatgpt提高工作效率

    公众号对话chatgpt 网页在线对话 ● 拥有一个 OpenAI 账号(需要梯子)。 ● 账号申请访问地址:https://platform.openai.com/。 ● ChatGPT 对话地址:https://chat.openai.com/chat。 API接入 ● 需要一个 API key(依赖于 OpenAI 账号)。 ● 普通的 HTTP 请求即可接入,参考文档:https://platform.opena

    2024年02月08日
    浏览(63)
  • 程序员工作过程中常用的网络技巧

    # 程序员工作过程中常用的网络技巧 ## 1. 网络诊断工具 ping命令 - 检查网络连通性   ```   ping www.baidu.com   ``` - 持续ping   ```   ping -t www.google.com   ``` - 指定包大小   ```   ping -s 1000 www.qq.com   ``` - 指定ping次数   ```   ping -c 5 www.taobao.com   ``` - 显示详细信息   ```   ping -v www.

    2023年04月24日
    浏览(54)
  • 做个清醒的程序员之拒绝工作

    阅读时长约10分钟,共计约2000字。 看到这个标题,我猜肯定有人会说:“这个人真是疯了,怎么会想到劝人家拒绝工作呢?这岂不是要把饭碗给弄丢了吗?” 没错,所以我肯定不是劝大家不去工作,或者把上级安排的工作统统拒绝掉,而是要以一种聪明的方式工作。 现在,

    2023年04月20日
    浏览(48)
  • 读程序员的README笔记05_日志、监控与配置

    6.1.1.1. 测量的是某个事件发生的次数 6.1.1.2. 通过使用计数器获得缓存命中数和请求总数,你就可以计算出缓存命中率 6.1.2.1. 一个基于时间点的测量值 6.1.2.2. 既可以上升又可以下降 6.1.3.1. 根据事件的大小幅度分成不同的范围 6.1.3.2. 每一个范围都会有一个计数器,每当某

    2024年02月05日
    浏览(54)
  • OpenAI ChatGPT 能取代多少程序员的工作?导致失业吗?

    阅读原文:https://bysocket.com/openai-chatgpt-vs-developer/ ChatGPT 能取代多少程序员的工作?导致我们程序员失业吗?这是一个很好的话题,我这里分享下: ChatGPT是一种基于人工智能技术的语言模型,是可以生成代码。 它可以理解自然语言,并生成符合语法和语义的文本。ChatGPT的出

    2023年04月25日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包