0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

25个实用编程小技巧

lviY_AI_shequ 来源:人工智能爱好者社区 2019-11-22 14:59 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

如果每个程序开发人员都只是周而复始地写代码,想必编程的工作就会让很多程序员发狂。那么如何在枯燥的工作中寻找乐趣,我认为我们要对工作保持激情和兴奋感、始终学习的态度,还需要掌握一些实用高效的编程技巧,这样对于提升工作乐趣和效率大有裨益。今天小编就跟大家分享一下 25 个实用编程小技巧,希望可以给开发编程人员的工作和学习带来更多的思考。

不要毫无计划地写代码,思考、调研、计划、编码、测试、修改,一个都不能少;

不要写代码前过度计划,在一头钻进代码前做点计划是好事,但是即便是好事,也可能物极必反。

请勿低估代码质量的重要性,如果你只能够关注你所写的代码的一个方面,那么肯定是可读性。

使用实现功能的最简单方案,作为专业的程序员,你的职责不是找出问题的一个解决方案,而是找出问题的最简单的解决方案;

适时放弃,当你开始怀疑一个解决方案的时候,你就应该考虑抛弃它,并且重新思考这个问题。不管你已经在这个解决方案中投入了多少精力。像 GIT 这样的版本控制系统能够帮助你分开管理和尝试多种不同的解决方案,把它利用起来吧;

擅用 Google,除非你正在使用一种极其前沿的技术,否则当你遇到一个问题时,很可能别人早就遇到过同样的问题了,并且也找到了解决方案了。给自己省点时间,先 Google 一下;

做好封装,基本的想法就是你想你的代码高内聚和低耦合,意思是说保持相关的代码在一起(在一个类中),降低不同类之间的相互依赖;

做好规划,写好需求再写代码,尽可能编写目前正在实现的方案所需的最少量代码;

要懂算法,使用合适的数据结构;

不要写重复性代码,要用好配置文件,不要使用没必要的条件语句和临时变量;

做好代码注释,但是不要给傻子都知道的代码写注释;

一定要写好测试,如果可能的话,甚至在开始写代码实现需求之前,你就应该开始预估和设计需要测试校验的情况了。测试驱动开发 (Testing-driven development, TDD)不是什么花俏的炒作,它是会实实在在会对你思考功能特性、寻找更好的设计方案产生积极影响的。

不要觉得代码运行起来就是正确的,有些时候代码的 bug 可能并不是显而易见的;

要能够质疑既有代码,作为一个初学者,总是应该假定那些你读不懂的、且没有文档注释的代码很可能就是糟糕的代码。质疑之,询问之,使用 git blame 揪出罪魁祸首!

不要过度迷恋最佳实践,我觉得 "最佳实践" 其实是害人的,它暗示着你不需要深入研究它,这就是有史以来最佳实践,不用质疑!

不要过度迷恋性能优化,如果你在运行代码之前就在优化它了,那很可能你就是在过早优化代码了,也很可能你正在费时费力做的优化是完全没必要的。

以用户体验为目标,要站在最终用户的角度看问题。专业的开发者要考虑这个特定功能的用户需要什么、怎样使用,要想方设法使得这个功能容易让用户发现和使用,而不是想方设法在应用中用最便捷添加这个功能,毫不考虑这个功能的可发现性和可用性。

为你的开发任务挑选合适的工具,你可以使用最原始的工具建造房子,然后享受甜蜜时光。你也可以花费一些时间和金钱去了解先进的工具、更快地建造更好的房子。工具在不断地改进中,你要乐意去学习它们、使用它们。

要理解好代码问题和数据问题之间的关系,即使是程序中最小的 bug 也会导致它所管理的数据去到一种不可预测的状态。尤其是当所有数据校验都完全在这个有 bug 的程序中进行时。

切勿重复造轮子,使用好现有的轮子和各种开源库,会让你事半功倍。当然,不要仅仅为了使用一两个函数就引入一整个代码库,在 JavaScript 中的典型例子就是 lodash 代码库;

对代码审查保持正确的态度,应该把每一次代码复审当作是学习的机会,欢迎他们、感激他们、从中学习,最重要的,当你从你的代码复审人员那里学习到东西的时候,要感谢他们;

用好版本控制工具和系统,新手往往低估了一个好的版本控制系统的威力,我这里所说的好的版本控制系统其实就是指 Git;

不要过度使用共享状态,一个新手可能会尝试使用定时器来解决这个共享变量的竞态条件问题,特别是当他们必须处理一个数据锁的问题时。这是危险的标志,别这么做,注意它,在代码复审中指出它,永远也不要接受这样的代码。

正视 Error,Error 是好东西。Error 意味着你在进步,意味着你可以通过简单的后续修改就获得更多的进步。专业程序员喜爱 Error。新手则痛恨 Error;

学会休息,任何人的大脑都需要休息,身体也需要休息。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制系统
    +关注

    关注

    41

    文章

    6895

    浏览量

    113574
  • 编程
    +关注

    关注

    90

    文章

    3708

    浏览量

    96778
  • 代码
    +关注

    关注

    30

    文章

    4942

    浏览量

    73160

原文标题:别死写代码,这 25 条比涨工资都重要

文章出处:【微信号:AI_shequ,微信公众号:人工智能爱好者社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    深入解析CAT25M01 EEPROM:特性、应用与设计要点

    在电子设计领域,EEPROM(电可擦可编程只读存储器)是一种常用的存储设备,它允许用户在不使用特殊工具的情况下对数据进行擦除和重新编程。今天,我们将深入探讨ON Semiconductor
    的头像 发表于 11-27 11:11 211次阅读
    深入解析CAT<b class='flag-5'>25</b>M01 EEPROM:特性、应用与设计要点

    Chroma 62006P-100-25编程直流电源:精准可靠的测试能量源

    在电子产品研发、生产线测试与品质验证环节,一精准、稳定且响应快速的直流电源是保障测试结果一致性与可靠性的基石。 致茂电子(Chroma)的 62000P 系列 作为其经典的可编程直流电源产品线
    的头像 发表于 11-10 18:32 1004次阅读
    Chroma 62006P-100-<b class='flag-5'>25</b> 可<b class='flag-5'>编程</b>直流电源:精准可靠的测试能量源

    W25Q128JVSIM与GD25Q128ESIGR引脚兼容分析

    华邦W25Q128JVSIM作为常用的128Mbit SPI NOR Flash芯片,其兼容替代方案兆易创新GD25Q128ESIGR已获得批量客户的认可及使用。
    的头像 发表于 10-13 09:33 664次阅读
    W<b class='flag-5'>25</b>Q128JVSIM与GD<b class='flag-5'>25</b>Q128ESIGR引脚兼容分析

    ‌Microchip 25CS640 SPI串行EEPROM技术解析与应用指南

    25CS640设有独立于64Kb主内存阵列的非易失性安全寄存器。安全寄存器的前半部为只读,在前16字节中包含一工厂编程、全局唯一的128位序列号。128位只读序列号后面有一32
    的头像 发表于 09-30 14:57 544次阅读
    ‌Microchip <b class='flag-5'>25</b>CS640 SPI串行EEPROM技术解析与应用指南

    开发单片机需要学习什么?软件编程的 4 关键层次

                        开发单片机需要学习什么?软件编程的 4 关键层次 单片机的 “智能” 全靠软件实现,编程技能需从基础语法逐步进阶到复杂逻辑,每个层次对应不同的开发需求
    的头像 发表于 08-25 11:32 591次阅读

    DP-25差分探头的介绍与注意事项

    DP-25 差分探头提供一安全的绝缘仪器给示波器使用,它可以转换由高输入的差动电压(≦1400Vp-p)进入一低电压(≦7.0V),并且显示波形在示波器上,使用频率高达25MHz
    的头像 发表于 07-21 17:22 562次阅读
    DP-<b class='flag-5'>25</b>差分探头的介绍与注意事项

    W25X16W25X32\W25X64 数据手册

    电子发烧友网站提供《W25X16W25X32\W25X64 数据手册.pdf》资料免费下载
    发表于 07-10 16:10 4次下载

    深度操作系统deepin 25全面支持凹语言

    近日,deepin(深度)社区宣布,deepin 25 现已完成对国产通用编程语言凹语言 (Wa-Lang) 的兼容性测试。在 deepin 25 默认安装环境下,即可直接使用凹语言进行程序的编译、运行与测试,无需额外复杂配置。
    的头像 发表于 07-10 15:26 803次阅读
    深度操作系统deepin <b class='flag-5'>25</b>全面支持凹语言

    Altium Designer AD 25 软件安装包下载

    Altium Designer 25 隆重登场!借助实时 PCB 协同设计、多板和线束功能、高级仿真和无缝 MCAD 集成等强大的新功能,彻底改变您的设计流程。 AD25 非常适合复杂的项目,它以前所未有的方式连接设计团队,在一
    发表于 05-22 16:45 46次下载

    DS1124 5.0V、8位可编程延时电路技术手册

    DS1124是一款功能与DS1021-25类似的8位可编程定时元件。可以通过3线串行接口编程256级延时间隔。DS1124具有0.25ns的步进,可以提供20ns至高达84ns延时,积分非线性为±3ns。
    的头像 发表于 04-15 09:28 1035次阅读
    DS1124 5.0V、8位可<b class='flag-5'>编程</b>延时电路技术手册

    NNV25-05S05ANT NNV25-05S05ANT

    电子发烧友网为你提供AIPULNION(AIPULNION)NNV25-05S05ANT相关产品参数、数据手册,更有NNV25-05S05ANT的引脚图、接线图、封装手册、中文资料、英文资料,NNV25-05S05ANT真值表,
    发表于 03-19 18:36
    NNV<b class='flag-5'>25</b>-05S05ANT NNV<b class='flag-5'>25</b>-05S05ANT

    MWC25 GTI年度大奖!爱立信5G可编程网络助力运营商差异化运营,提升网络价值

    北京2025年3月6日 /美通社/ -- 2025世界移动通信大会(MWC25)期间,爱立信的5G可编程网络荣获"GTI年度大奖—移动技术创新突破奖"。此次获奖,标志着爱立信的5G可编程网络获得了
    的头像 发表于 03-06 14:40 614次阅读
    MWC<b class='flag-5'>25</b>  GTI年度大奖!爱立信5G可<b class='flag-5'>编程</b>网络助力运营商差异化运营,提升网络价值

    gitee 支持的编程语言有哪些

    Gitee(码云)是一基于 Git 的代码托管和研发协作平台,类似于 GitHub 和 GitLab。它支持多种编程语言,允许开发者托管和管理代码,进行版本控制,以及协作开发。以下是一些
    的头像 发表于 01-06 09:50 1111次阅读

    将AINN和AGND接在了一起,请问AMC1306M25的AGND的地和隔离电源的地是一地吗?

    我正在评估AMC1306M25,有问题想要请教: 我做了一 隔离电源,输出5V,将5V电源供给AMC1306M25,AMC1306M25
    发表于 12-23 08:25

    可罗马Chroma62006P-100-25 可控编程直流电源

    可罗马Chroma62006P-100-25 可控编程直流电源 定功率操作下允许多种电压和电流组合输出 电压输出范围 : 0 ~ 600V ; 电流输出范围 : 0 ~ 120A ; 功率输出范围
    的头像 发表于 12-18 14:36 989次阅读