怎样成为一名高效程序员?

2019 年 11 月 05 日

怎样成为一名高效程序员?

编程界说的效率是一个带有误导性的概念。有经验的程序员通常把效率定义为,用更少的代码行数,实现更多功能。极客们反对使用代码模板,因为它们为实现更多功能,往往导致算力滥用。

对一般水平的程序员来说,编程效率可以归结为一点:至少在星期五之前,尽可能多地实现他们技术 Leader 定义的功能点。

在一个朝九晚五,一周工作 5 天的日常工作环境中,这会给你一种成就感:运行顺畅的 Demo,不算太糟糕的反馈——无论 3 个月后这些代码会引起多大程度的退化。

所以下面我将介绍一些关于编程效率的小技巧,它们能让你避免出现事后补救这样的尴尬场面。

总是先进行 UI/ 测试用例开发

如果你的项目涉及到 UI,先实现 UI 然后再实现功能开发,这总是会带来一些好处。不管你想怎样辩驳,用户体验(UX)决定了带给用户的价值。

但是团队里已经有了一个负责 UX 的人——难道这不应该是他的责任吗?

当然。但是,一个可以正常演示的 Demo 总是会激发团队集体心理上的二次思考。人们自然地会在第二次审视时容易发现需要改进的地方。

除非你写出了 100% 解耦合的代码,否则,UI 的改动多半会引起 view-model 的改动,这可能会导致模块 / 类的重写。

UI 的开发还会让相关人员培养起一种早期验证他们想法的意识。它会让整个团队感受到项目的进展,也会给你这位功能开发人员在添加功能之前带来一些缓冲余地。你可以利用这段无压力的时间来开发模型和网络部分。

原文链接:【 https://www.infoq.cn/article/D99wXWRxGO2JbvuGTYBW 】。未经作者许可,禁止转载。

登录后可解锁全站优质内容

免费畅享技术公开课、顶尖技术团队访谈、一线互联网大厂技术实践

文章
视频
电子书
研究报告
立即登录
2019 年 11 月 05 日 14:19 9095

评论 1 条评论

发布
暂无评论
发现更多内容

java中实现List集合中对象元素按其属性的中文拼音排序

Shae

基于electron桌面级脚手架的设计

久违

前端 设计 全栈

ASP.NET Core 性能优化最佳实践

newbe36524

微服务 性能优化 .net core ASP.NET Core

图计算黑科技:打开中文词嵌入训练实践新模式

小小的一朵云

大数据

神盾首创非对称联邦学习,深度保障数据隐私

小小的一朵云

大数据

ARTS 打卡 (20.09.07-20.09.13)

小王同学

程序的机器级表示-异构的数据结构

引花眠

计算机基础

哦!这该死的 C 语言

cxuan

c 后端

创建spring boot starter

曾彪彪

Java spring Boot Starter

区块链钱包app开发,去中心化多币种钱包搭建

WX13823153201

看动画学算法之:排序-快速排序

程序那些事

排序 快速排序 数据结构和算法 看动画学算法

同城双活与异地多活架构分析

vivo互联网技术

架构 高可用 架构设计 高可用系统的架构

为什么互联网巨头们纷纷使用Git而放弃SVN?(内含Git核心命令与原理总结)

冰河

git 冰河 代码管理 代码仓库 分支合并

ARTS打卡 第16周

引花眠

微服务 ARTS 打卡计划

鹰眼 | 分布式日志系统上云的架构和实践

小小的一朵云

大数据

Elasticsearch索引容量管理实践【>>戳文章免费体验Elasticsearch服务30天】

小小的一朵云

大数据

PB级大规模Elasticsearch集群运维与调优实践【>>戳文章免费体验Elasticsearch服务30天】

小小的一朵云

大数据

从linux源码看epoll

无毁的湖光

Linux TCP Linux Kenel

Docker映射详解,没问题了!

程序员的时光

Docker

ARTS打卡Week 12

teoking

链表中移除重复节点,保罗·格雷厄姆的传奇博客,Mac三指拖动操作,大数据平台 John 易筋 ARTS 打卡 Week 17

John(易筋)

ARTS 打卡计划 大数据平台 链表移除相同节点 保罗格雷厄姆 mac三指操作设置

CountDownLatch 瞬间炸裂!同基于 AQS,凭什么 CyclicBarrier 可以这么秀?

liuzhihang

源码 AQS 源码阅读 java; CyclicBarrier

你必须要了解的「架构」小历史

码农田小齐

spring Spring Cloud Spring Boot

智能商业时代的思考(二)网络协同抓住用户

刘旭东

微信 商业价值 数据智能 网络协同 商业智能

Mysql学习笔记:InnoDB事务和ACID模型

马迪奥

MySQL innodb

Spring 5 中文解析测试篇-Spring MVC测试框架

青年IT男

单元测试 Spring5

前端 10 问之 Docker (第一篇)

局外人

Docker

oeasy教您玩转 linux 010213 中文 fcitx

o

极客大学-架构师训练营

9527

简述C语言宏定义的使用

C语言与CPP编程

c c++ 编程语言

数据结构与算法系列之数组

书旅

数据结构 算法 数组 数据结构与算法

跨越计算鸿沟:如何靠软硬件协同突破算力瓶颈?

跨越计算鸿沟:如何靠软硬件协同突破算力瓶颈?

怎样成为一名高效程序员?-InfoQ