编程效率低?8招教你提高编程效率!

2024-02-28 04:32
文章标签 编程 效率 提高 招教

本文主要是介绍编程效率低?8招教你提高编程效率!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

**

1.提醒自己得学习

**
学习的第一步是要认识到,你不懂。因为不懂,所以才需要学习。这听上去很明显,但有经验的程序员肯定记得自己用了多长时间才能做好这个心理建设。太多的计算机科学学生带着一种傲慢毕业:“我懂得最多”,自以为是地认为他们知道一切,并且有一种想要证明给每一个新同事看的强烈欲望。换句话说:这样一种“我知道我懂我了解!”的态度会成为阻碍你学习新东西的拦路虎。

2.不要竭力证明自己是对的

要成就伟大——而不只是优秀——你必须从经验中学习。但要小心,经验会让我们重复错误的行为,养成坏习惯。我们都遇到过有着8年经验的程序员……不断说自己的经验丰富,倚老卖老。为了避免一叶障目,你应该回顾自己所做的一切,问问自己,“怎样才能做得更好?”

新手软件开发人员(以及很多有经验的开发人员)观看他们自己的代码是为了欣赏它的精彩。他们编写测试是为了证明其代码可工作,而不是为了让它失败。真正伟大的程序员会积极寻找他们错误的地方——因为他们知道,最终用户必将会发现他们遗漏的缺陷。

3.“代码可工作”不是你止步的标志;而是你开始的地方

是的,第一步是写出高质量的软件,满足规格说明。普通的程序员往往在这里就放弃了,直接跳到下一件事。

但是就此当作是“已经完成”而止步,就像是拍了张照片就希望它成为一件艺术品一样荒诞可笑。伟大的程序员知道第一次迭代就只是第一次迭代而已。可以工作——那么恭喜你!——但是这不是结束。你还需要让代码变得更好。

一些流程定义了何为“更好”。有没有价值使其更快?文档更简单?更可重用?更可靠?对于不同的应用程序,这些问题的答案也各不相同,但是这个流程是不变的。

4.写三遍

好的程序员编写可工作的软件。而那些伟大的程序员编写的软件运行起来极为出色。这很少是能够一蹴而就的。最好的软件通常要写三次:

首先,你写软件是为了证明给自己(或客户)看该解决方案是可能的。其他人可能不会意识到这仅仅是一个证明型的概念,但是你知道。

第二,让它工作起来。

第三,让它正确工作。

这种程度的工作可能并不明显,如果你去看那些最佳开发人员的工作的话。他们做的一切都显得如此才华横溢,但你没有看到的是,即使是明星开发者,在将自己的软件展示给别人看之前,可能也扔掉过第一次和第二次的版本。抛弃代码重新开始是一个能将“力求完美”纳入个人工作流程的好方法。

如果不出意外,“写三遍”会告诉你很多解决问题的方法。它可以避免你陷入困境。

5.阅读代码,阅读很多代码

你可能已经听过这个建议,实际上这是提高编程技巧最常见也是最有价值的建议。但是很多人不知道阅读别人的代码之所以如此重要的原因。

当你阅读别人的代码时,你要去看别人是如何解决问题的。但不要把它当作文学来看;把它当做一个教训,一个挑战。为了变得更好,你得问自己:

我会怎么写那样的代码块?在你看到另一种解决方法之后,你有什么不同的做法?

我学到了什么?怎么应用那个技术到我以前写的代码?(“我从来没有想过在那里使用递归下降……”)。

我要如何改进这个代码?如果它是一个开源项目,而且你相信自己有一个更好的解决方案,那么就去做!

用作者的风格写代码。练习这个可以帮助你了解写软件的那个人的思维。

不要光想不做。写下你的答案,无论是在个人日记,博客,代码审查过程中,还是在开发者社区论坛上。就像给朋友解释问题可以帮助你理清解决方案,写下并分享你的分析也可以帮助你了解为什么你对别人的代码会有这样一种既定方式的反应。这就是我前面提到的自省,自省可以帮助你冷静地判断自己的长处和短处。

警告:阅读大量的代码很容易,但要凭此就成为一个伟大的程序员未免异想天开。许多开发人员会通过开源代码或其他软件来“找寻答案”,而大多数人的做法是,复制和粘贴恰巧出现的可解决类似问题的代码。这样做实际上是在让你变成一个更差的程序员,因为你只是盲目地接受别人的智慧,而没有消化吸收。

6.写代码,而不仅仅是作为分配的任务

工作于个人编程项目有很多优势。首先,它提供了一个学习工具和技术的途径,而这些工具和技术在你当前的工作中是学不到的,但是这能让你在找下一份工作时更有竞争力。无论你是致力于开源项目,还是为当地的社区组织提供无偿的劳动,都可以让你增加技术技能和自信。

为了好玩而写代码的另一个优点是,它迫使你靠自己去搞清楚这些事情。你不能将难的那部分留给别人去做,所以它可以避免你太快地向别人寻求帮助。

小贴士:不要选择那些你永远不会失败的个人项目。你需要失败!但你不会希望在工作中失败,或者当项目有时间期限的时候。

7.尽可能一对一地和其他开发人员合作

这有助于仔细倾听别人的思路和想法。方法可以是结对编程,可以是去参加编程马拉松,也可以是加入一个编程用户群。当你致力于一个开源项目时,要注意你从用户和其他开发人员那里得到的反馈。在他们的批评建议中有没有什么共同点?

你或许会很幸运地找到一个可以信任的个人导师,他会指导你从编码技术到职业决定的所有东西。不要浪费这些机会。

8.学习技术,而不是工具

编程语言、工具和方法变化不定。这就是为什么我们要积累尽可能多的经验,使用尽可能多的语言和框架。专注于编程基础,因为基础知识永远不会改变:要更注重结构,而不是编程。如果你觉得只有一种做事的正确方法,那么可能是时候实战检验了。教条会阻碍你学习新事物的能力,同时要试着让自己慢慢适应变化。

想了解更多Java、程序员等相关知识,可以下方扫描二维码或微信搜索“速学Java”关注我们哟~
在这里插入图片描述

这篇关于编程效率低?8招教你提高编程效率!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/754409

相关文章

SpringBoot中六种批量更新Mysql的方式效率对比分析

《SpringBoot中六种批量更新Mysql的方式效率对比分析》文章比较了MySQL大数据量批量更新的多种方法,指出REPLACEINTO和ONDUPLICATEKEY效率最高但存在数据风险,MyB... 目录效率比较测试结构数据库初始化测试数据批量修改方案第一种 for第二种 case when第三种

PowerShell中15个提升运维效率关键命令实战指南

《PowerShell中15个提升运维效率关键命令实战指南》作为网络安全专业人员的必备技能,PowerShell在系统管理、日志分析、威胁检测和自动化响应方面展现出强大能力,下面我们就来看看15个提升... 目录一、PowerShell在网络安全中的战略价值二、网络安全关键场景命令实战1. 系统安全基线核查

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁

Java使用MethodHandle来替代反射,提高性能问题

《Java使用MethodHandle来替代反射,提高性能问题》:本文主要介绍Java使用MethodHandle来替代反射,提高性能问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录一、认识MethodHandle1、简介2、使用方式3、与反射的区别二、示例1、基本使用2、(重要)

电脑蓝牙连不上怎么办? 5 招教你轻松修复Mac蓝牙连接问题的技巧

《电脑蓝牙连不上怎么办?5招教你轻松修复Mac蓝牙连接问题的技巧》蓝牙连接问题是一些Mac用户经常遇到的常见问题之一,在本文章中,我们将提供一些有用的提示和技巧,帮助您解决可能出现的蓝牙连接问... 蓝牙作为一种流行的无线技术,已经成为我们连接各种设备的重要工具。在 MAC 上,你可以根据自己的需求,轻松地

如何关闭Mac的Safari通知? 3招教你关闭Safari浏览器网站通知的技巧

《如何关闭Mac的Safari通知?3招教你关闭Safari浏览器网站通知的技巧》当我们在使用Mac电脑专注做一件事情的时候,总是会被一些消息推送通知所打扰,这时候,我们就希望关闭这些烦人的Mac通... Safari 浏览器的「通知」功能本意是为了方便用户及时获取最新资讯,但很容易被一些网站滥用,导致我们

Python 异步编程 asyncio简介及基本用法

《Python异步编程asyncio简介及基本用法》asyncio是Python的一个库,用于编写并发代码,使用协程、任务和Futures来处理I/O密集型和高延迟操作,本文给大家介绍Python... 目录1、asyncio是什么IO密集型任务特征2、怎么用1、基本用法2、关键字 async1、async

Java并发编程之如何优雅关闭钩子Shutdown Hook

《Java并发编程之如何优雅关闭钩子ShutdownHook》这篇文章主要为大家详细介绍了Java如何实现优雅关闭钩子ShutdownHook,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起... 目录关闭钩子简介关闭钩子应用场景数据库连接实战演示使用关闭钩子的注意事项开源框架中的关闭钩子机制1.

shell编程之函数与数组的使用详解

《shell编程之函数与数组的使用详解》:本文主要介绍shell编程之函数与数组的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录shell函数函数的用法俩个数求和系统资源监控并报警函数函数变量的作用范围函数的参数递归函数shell数组获取数组的长度读取某下的

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.