第四份工作(16),得心应手及之后

曾经有过一段时间,我觉得自己是厉害的,不管怎样的玩法、功能,我都能搞定,工作做起来得心应手、游刃有余。

我为什么会有这种感觉呢?

作为程序员,做一个新功能之前,往往需要先研究技术可行性。

以我曾经做过的一个战斗回放功能举例:

回合制游戏的战斗是许多自定义指令的集合,服务端按照顺序生成指令之后,由客户端一一展现。回放,便需要将这些指令集存下来,我们决定将它们存储在客户端。

为了防止别人一眼看清整个战斗过程,我们决定对这些指令集进行加密。

是否可以加密?如何加密?便成为这个新功能需要研究的技术点。

研究的流程呢?首先查看引擎是否有相关API能够直接调用。没有的话,引擎是否已经有对应功能但未暴露出接口?如果没有,选择哪一种加密算法?如果需要自己实现加密,是放在脚本层用Lua写,还是放在引擎层由C++实现?

如果要自己实现,最简单的肯定是直接用Lua写。用Lua写,效率如何呢?由C++实现,速度又会快多少呢?如果放在引擎层做,怎样将接口暴露给Lua使用呢?

将所有问题列出来,并一一做解答,便能确认战斗回放是否可以做了。

是可以做的。Cocos-2dx引擎自带一个xxtea加解密库,只需要封装接口暴露给Lua就好。

研究技术可行性,将可行的技术用代码实现,完成一个玩法或功能。在一款游戏的生命周期内,是一直重复这种"学习到应用"过程的。

一款游戏(或者一款产品),在类型、风格、主方向确认之后,创新点并不会太多。于是某段时间内,我做的工作内容,便都是用之前已经熟悉的技能,在自己熟悉的游戏中做新的玩法。不一样的,只是"逻辑"。

于是,便自然生出得心应手感觉。

这种由生涩到熟练的进步,在看过《学习之道》之后,才知道,或许世界上所有技能的练习,都是这样的一个流程。"熟能生巧"、"庖丁解牛"、"无他唯手熟尔"......等一系列成语也都说过这些道理。

现在,我自己体验到了。

这种游刃有余感觉,被后来的几次面试,击碎过。我说不出如何归并,我记不清面向对象三要素,我没用过Python的collection库......我不知道的技能,我知道但记不住的概念,我知道且记住过但又忘记的东西,太多太多。

我陷入了侯捷老师说的"信息焦虑症候群","不去面试,慨叹自己彷佛井底蛙,真正面试后才知道自己真的是井底蛙;整天看自己这里也不行,那里也不对"。(我将原文中的"上网络"改成了"去面试"。我的"上网络",只看了些自己喜欢的内容。)

或许我曾经的焦虑,与证实自己是井底蛙也有些关系的。

得心应手之后,是信息焦虑症。

再之后,是就自己工作中所用到的内容,知其然,并尝试知其所以然。

相关推荐
灵感__idea6 小时前
JavaScript高级程序设计(第5版):无处不在的集合
前端·javascript·程序员
dmy8 小时前
n8n内网快速部署
运维·人工智能·程序员
憨憨睡不醒啊10 小时前
如何让LLM智能体开发助力求职之路——构建属于你的智能体开发知识体系📚📚📚
面试·程序员·llm
程序员岳焱11 小时前
Java 程序员成长记(二):菜鸟入职之 MyBatis XML「陷阱」
java·后端·程序员
liangdabiao13 小时前
让AI写出真正可用的图文并茂的帖子(微信公众号,小红书,博客)
程序员
安妮的心动录13 小时前
人是习惯的结果
面试·程序员·求职
小兵张健14 小时前
笔记本清灰记录
程序员
陈随易16 小时前
Univer v0.8.0 发布,开源免费版 Google Sheets
前端·后端·程序员
陈随易2 天前
Element Plus 2.10.0 重磅发布!新增Splitter组件
前端·后端·程序员
陈随易2 天前
2025年100个产品计划之第11个(哆啦工具箱) - 像哆啦A梦口袋一样丰富的工具箱
前端·后端·程序员