[乱七八糟] 论“造轮子”

自己造轮子: Unity打造Timer定时器框架 1: 为什么我们要自己造轮子来做定时器系统 传统的Unity做定时器的方式有三种,总结如下: (1) 在组件类里面定义一个变量,每次Update的时候,累积时间,当时间到达特定的阈值时, 触发函数调用。 源码素材视频教程可以进入学习交流小组领取 void Update() { float dt = Time.deltaTime; this.passedTime + 阅读详情

我这个人猜疑心非常重,对于网上寻到的代码,除非是自己写DEMO搞懂了其中的原理,否则用到自己的项目中后总感觉心里不踏实。而周围的同事总是说我太慢,只要运行没问题就可以了,哪有那么多时间搞懂这些?其实我很理解这些同事,项目工期的临近,导致没有多少时间可以花费在学习上,只能把学习的时间押后,而当前项目结束后立马又有新的项目接手。所以,“稍后学习”就如同“过两天我请你吃饭”了。

真正让我对“造轮子”感到诧异的,是因为一个女生的一句话。之前接触了一个本科毕业生,是个女生。她见我在写代码,随口问了一句我在干什么。我告诉她,我在写一个库。她紧接着就问我:“又在造轮子吗?”可能是说者无心,听者有意吧。我感到诧异,是因为对于一个刚刚本科毕业的学生,应该还是挺能静下心来的,但她对“造轮子”这件事情如此的排斥。

我们确实不应该把宝贵的时间和精力浪费在盲目的“造轮子”上。但如果在“造轮子”的过程中能够获得有价值的东西,那么我们就是应该这样做的。

很多程序猿可能都有这种感觉吧:翻看以前写的代码,不敢相信这是自己的作评,反问自己为什么要那么写?不是有更好的解决方案吗?当初我也是这种感觉,我的第一任老板告诉我,这说明我在成长,技能和能力在逐步提高。随着编码量的提升,我们的能力会比以前有所提高,而经验也随之有了积累。在编码的过程中会踩很多坑,但当我们认真彻底地了解并解决问题后,我们就不会那么容易地掉进同一个坑了。再往后,坑会躲着我们出现。

每次“造轮子”的时候,我们的关注点都会集中在一个或少数几个问题上来。我们会放更多的时间和精力在这几个问题上,同时我们也会尝试是否有更好的解决方案。对于很多坑,我们永远要掉进去一次。如果我们在“造轮子”的过程中把这个坑填了,那么在生产过程中再次入坑的概率就大大降低了。随着我们的经验积累,我们可能会具备一种预判能力:即将有一个坑出现需要躲避一下,或是对于这个坑如此做之后才能躲避。

正所谓“磨刀不误砍柴工”,“造轮子”、写DEMO,这种费事又不能直接提高生产效率的事情,看似无价值,但如果我们真正了解他们背后的意义,带给我们的将是无价的东西。

Unity3D BMFont使用图片自定义字体(无需字体文件) 网上搜BMFont做字体,很多都是从一个字体文件读取,然后选择需要的字,然后保存成图片文字,这个对于一般的文字的确很实用,因为Unity本身不支持中文,所以只好这样了。 但是做过游戏的都知道,策划总是喜欢用一些乱七八糟的数字字体,而美工丢给你的也只有图片文件,像这样: 于是最开始我就自己实现了一个类,来处理这种情况,不过实际上使用起来还是挺麻烦。因为字体这种东西别人都已经实现了,我这是 阅读详情

相关推荐

在接触新的游戏引擎的时候,如何能快速地熟悉并开发出一款新游戏?

开发框架,顾名思义,它是一个框架。通常会把引擎看似复杂的内容整理和浓缩到一套代码里面。通过这套代码,你可以轻松实现游戏功能,编写游戏逻辑。开发框架通常会提供标准化的示例,你或者团队只需要模仿示例的代码,去实现流水化地开发。开发框架还有什么好处?笔者整理了一些实用源码,可以扫码或者阅读原文看看,付费不仅是知识的获取,更是对笔者的支持和认可在哪里可以看到如此清晰的思路,快跟上我的节奏!关注我,和我一起了解游戏行业最新动态,学习游戏开发技巧。我是"亿元程序员",一位有着8年游戏行业经验的主程。

lsw_Cs的博客 2260

华为软件训练营MOOC-C语言 Week1 学习笔记

一、软件工程师未来之路1、软件人员的主要技能包括需求能力、架构能力、设计能力、实现能力、验证能力和维护能力。 2、学习时间管理,不要解决一个问题两次;创造性头脑是无比珍贵的资源,不应该浪费在重新发明轮子上,尤其是还有很多迷人的新问题在那里等着你的时候;时间是宝贵的,共享信息,分享成果,这样可以让其他程序去解决新的问题,而不是永不休止的重复解决老问题。 3、基本技能 (1)从脚本语言开始:将以P

Jinbao 4793

“用完就扔“的代价:论对象池与“重复造轮子“的智慧

他信心大增,给玩家的飞船加上了"疯狂射击"的功能——按住鼠标,子弹突突突地喷涌而出,那叫一个爽快!今天,我们就来破解这桩"越打越卡"之谜,看看为什么"频繁地 Instantiate 和 Destroy"是一个性能陷阱,以及那个优雅的解药——改成了"从池子借、还回池子",那个"越打越卡"的毛病,瞬间药到病除。"这不对啊,"小明纳闷,“生成子弹、销毁子弹,天经地义啊!我们生活在一个推崇"一次性""即用即弃"的时代。对象池那份"用完不扔、回收复用"的思想,正暗合了这份古老而深刻的"珍惜之道"。

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 15

Python学习日记:第15天,我终于学会了“不造轮子”

以前写代码,想要算个随机数,或者求个阶乘,总想着自己写个循环去算。今天的课件里有一句话深深触动了我:“模块就像是预先制造好的工具和材料。其实,Python里的模块本质上就是一个 .py文件。我在主文件里写满了几百行代码,乱七八糟。我把功能相似的函数(比如求和、阶乘)剪切出来,放到一个叫utils.py的文件里。这个utils.py就成了一个模块。当我想用这些功能时,不需要重写,只需要拿来用。“不要重复造轮子(Don't Reinvent the Wheel)”。

2301_77906172的博客 403

OpenIddict实战:5步搞定.NET Core应用的OIDC单点登录集成

本文详细介绍了如何使用OpenIddict在.NET Core应用中快速实现OIDC单点登录集成。通过五个关键步骤,包括环境准备、数据库集成、客户端注册、令牌配置和多应用SSO集成,帮助开发者高效构建安全的企业级单点登录解决方案。

lambda的博客 726

Abaqus传热分析HETVAL和USDFLD子程序联合

Hetval子程序常用于定义内部热源,该子程序可以定义材料内部的生热量(如相变、高分子结晶生热),并且能够调用state variable 状态变量,可以与USDFLD子程序联合使用。HETVAL子程序用于计算传热系数并在单元上定义,USDFLD子程序用于在每个时间布更新温度场。

qq_41900477的博客 2660

程序员必须遵守的6个编程原则,不要重复造轮子!

对于程序员而言,遵守编程原则能够显著提高编程能力。 同时,也能开发出BUG更少,更完美的程序。 下面w3cschool就来分享程序员必须知道的6个编程原则: 0、避免过早优化 过早优化是一切罪恶的根源”—Donald Knuth。 如果你没有弄清楚未来变化的走向而去优化,实际上让代码变得复杂外,到头来是竹篮打水一场空。 因为优化可能无法很好实现新的需求,对于优化预期的猜测也有可能是...

AoooY001的博客 1166

时间卷积网络(TCN):结构+pytorch代码

文章目录TCNTCN结构1-D FCN的结构因果卷积(Causal Convolutions)膨胀因果卷积(Dilated Causal Convolutions)膨胀非因果卷积(Dilated Non-Causal Convolutions)残差块结构pytorch代码讲解 TCN   TCN(Temporal Convolutional Network)是由Shaojie Bai et al....

Leon_winter的博客 11万+

pip对应的轮子版本格式查询

最近直接pip总是出奇奇怪怪的错误,所以经常直接下载轮子来进行安装,这时候需要找到pip对应的轮子的版本(或强行把名字改成合适的版本): 以前的方法: import pip print(pip.pep425tags.get_supported()) 如果是AMD64,则使用 import pip._internal print(pip._internal.pep425tags.get_supported()) 如果问题解决就可以不用往下看了。最近我自己发现不太好使,会显示:module ‘pip’ ha

IceelfLuo的博客 647

跟着Synopsys报告,一步步拆解车规芯片FMEDA计算(含公式与避坑点)

本文详细解析了车规芯片FMEDA计算的全流程,基于Synopsys报告拆解实战指南,涵盖基础失效率建模、安全机制效能评估及安全指标合成等关键步骤。通过公式解析、数据准备清单和避坑点分享,帮助工程师掌握ISO26262标准下的硬件量化分析技术,提升车载系统设计可靠性。

weixin_30460489的博客 194

MacBook Air老本重装系统

手里的这个本子型号是A1466,cpu i5,4G内存,硬盘ssd 120G。 重装系统可以在原系统上升级到更新版本,或者用U盘安装。 先确定,这个本子可以安装什么系统。 最权威的信息当然是apple的官网,地址:https://support.apple.com/zh-cn/HT211683 在“检查兼容性”中,可以依次检查每个系统兼容的硬件型号。Mojave是A1466能安装的最高版本。 确认兼容性后,下一步就是下载安装文件。还是这个页面稍下面一点可以找到。 这里告诉用户文件可以在什

bigwood99的博客 2万+

string 的底层简单实现(造轮子)

String的底层的简单实现

Small_entreprene的博客 937

[QMT量化交易小白入门]-二十四、年化收益47%的全球核心资产轮动策略(含代码解析)

m_days = 25 #动量参考天数period=200m_days被设置为25,表示动量参考的天数为25天;period被设置为200,用于指定获取市场数据的周期长度。

木头大左的博客 2968

【造个轮子系列】之自定义验证码的 springboot starter

前言 springboot很好用的原因之一就是它本身封装了好多starter,拿来就可以用,不用像SSM那样配置好多。所以,我们也可以自定义一个starter,造个小轮子,自己用。我就以验证码为例子。 一、工厂模式 验证码的样式多种多样,有静态的PNG格式的,有动态的GIF格式的。还有它的高度、宽度,字符串的长度也都可以改变。所以我们可以使用java设计模式中的工厂模式来生成不同的验证码。 ...

小哥哥的博客 1505

YOLO11数据增强中的色彩空间变换:HSV、YUV等增强技术的原理、实现与参数调优全解析

摘要 本文介绍了色彩空间的基本概念及其在数据增强中的应用,重点分析了HSV色彩空间的原理与特性。色彩空间作为颜色表示的数学模型,在计算机视觉中具有重要作用,RGB、HSV、YUV等常用色彩空间各有特点。数据增强中的色彩变换能提升模型鲁棒性、缓解数据不平衡并防止过拟合。HSV色彩空间将颜色分为色调(H)、饱和度(S)和明度(V)三个独立分量,更符合人类视觉感知,便于针对性调整图像属性。文章详细阐述了HSV与RGB的转换公式,为YOLO11等目标检测框架的数据增强提供了理论基础。

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 286

第3章: MMU Interval Notifier 区间通知器的核心原理⭐

摘要:区间级内存通知机制分析 本文分析了Linux内核中区间级内存通知机制(mmu_interval_notifier)的设计原理与实现。该机制针对传统全局通知(mmu_notifier)存在的性能开销大、无法精确控制等问题,通过引入区间树(Interval Tree)实现精确匹配,仅当内存变化与注册区间重叠时才触发回调。核心优势包括:1)O(log n + k)的高效查找性能;2)支持独立管理各内存区间;3)实现高并发处理不同区间的失效事件。

图形/计算GPU的驱动与虚拟化技术分享园地 2016

「全栈开发的10个大坑」:踩过的人都懂,没踩过的迟早要踩

最夸张的是,我曾经为了一个显示用户头像的功能,写了200多行代码,包括什么单例模式、工厂模式。开始自己搭建简单的Node.js服务,用Express写API,慢慢理解了前后端数据流转的过程。想起刚做开发那会儿,觉得自己啥都能搞,前端后端数据库,样样精通。直到有次凌晨收到报警电话,线上服务挂了,我对生产环境一无所知,只能干着急。结果做出来的东西,用户体验极差,按钮位置奇怪,颜色搭配刺眼,交互逻辑反人类。开始学Docker,了解CI/CD流程,至少能看懂日志,知道自己的代码在生产环境是怎么运行的。

前端达人 857

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

告别重复造轮子:用快马平台一键生成ai学习高效工具脚本

首先,调用预处理模块,用中位数填充缺失的数值,用众数填充缺失的类别,并对数值特征进行了标准化,对分类特征进行了独热编码。作为开发者,我们的核心价值在于解决问题的逻辑和创意,把这些重复性、工程性的工作交给工具和平台去简化,我们就能更专注地探索AI技术的深度和应用的广度了。我不再需要从零开始敲每一个函数定义,而是可以在AI生成的代码基础上进行修改、调试和优化,把精力集中在最体现我专业判断的地方,比如业务逻辑的定制和模型的选择上。其实,在构思和实现这个脚本的过程中,我就在想,有没有更快的办法呢?

ThunderstormLynx23的博客 167

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

工作中写单片机代码,与学校里有什么不同?

摘要: 学校与工作中的单片机开发差异显著:学校代码追求功能实现,结构随意;而工业代码需长期维护,强调可读性、可扩展性。工作中常遇遗留代码架构混乱却稳定运行,需适应“复用优先”思维,避免重复造轮子。转型关键在于从“单次任务”转向“长期维护”,学习封装架构(如STM32库)和任务管理技巧。初期困惑是常态,但接触真实项目能加速成长——代码从“玩具级”到“工程级”,核心是培养可持续开发的思维模式。(149字)

宋一平工作室 474

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

JAVA 接口通用返回实体

什么样的接口返回实体是好的呢?这个问题在我入行的时候困扰我很久,用过各种各样的。下面是我总结的,不用乱七八糟的高级语法啥的,根据不一样的业务写不一样的就好了,真正等你大手一挥重复造轮子的时候也不会限制于你。

haigle 409

造点假数据进行产品测试、BI报表demo设计、更贴合客户业务的产品演示,test.X一定可以让你事半功倍

过往的项目中有很多重数据的系统开发、测试任务,包括业务系统开发(CRM,ERP,CMS,OMS,MAT等),数据平台开发(CDP,数据中台,DMP),这些系统的功能测试、压力测试都需要大量数据,靠开发人员造的数据量也不够,主要是数据乱七八糟的,xxxx,111,2222,000这样的,客户已经快要骂人了,后来发现文中这个工具,不要太爽了,解决了很多难题,值得分享!!! 回想了一下,是不是你们也有这样的痛苦: 1. 要测试没有好的数据支持,流程跑不起来,数据量不够; 2. 想要给客户展示产品功能没有好的数据

chengxu28的博客 354

参考文献要不要首行缩进_程序员要守住的六条原则

程序员,非程序猿!I am coder! I love coding!0、不要过早优化写代码最忌讳的是:情况不明决心大,心中无数办法多。如果没有弄清楚未来需求的变化而去优化代码,只会让代码变得更复杂,到头来竹篮打水一场空。因为优化可能无法很好实现新的需求,对于优化预期的猜测也有可能是错的,所以将耗费大量的时间和精力。1、保持代码缩进对于 while、for、if 语句,还有switch 结构,都需...

weixin_39989222的博客 240

你的 Tailwind 之所以丑,是因为你像用 2006 年的内联样式那样用它

如果你的网站看起来像 2014 年的 Bootstrap, 问题可能不在 Tailwind, 而是你没设限,没抽离通用组件, 或者满屏狂用。设计杂乱无章,别怪 Tailwind, 怪你没设定好间距尺度、字体层级、配色体系。如果你的 Tailwind 代码看着乱七八糟,问题不是框架, 而是你用它的方式。Tailwind 自动帮你管理断点, 零切换文件,上手又快。Tailwind 给你的是乐高积木,怎么拼由你决定。立刻干净、可扩展,依旧是 Tailwind 的魔力。, 用系统化间距替代盲猜的 padding。

粉丝们务必加入微信粉丝群 848

angular使用动态组件后属性值_最近写Vue,真是累死人了!没有Angular爽,谁能帮帮我?[吐槽]...

就是吐槽下,Angular、Vue、React都是优秀的框架,大家基本上都是“用户”不是“造”框架的主,所以请不要非此即彼的。作为创业小公司,三大框架我都是在用的,从jQuery到MVVM框架,效率是成倍提升呀。最早接触angular.js 1.x是学起来困难的语言,后来再出来Angular 2又花了一大把时间为那些“变态”的概念头疼。但是Angular掌握了以后真的太爽了!可能是纯天然types...

weixin_39720181的博客 115

【工具测评】拒绝重复造轮子!这款AI辅助的SQL转ER图神器,让数据库设计效率起飞

拒绝重复造轮子!这款AI辅助的SQL转ER图神器,让数据库设计效率起飞

xundefined的博客 247
上一篇: [编程语言][C]宏函数之坑
下一篇: [代码实例][WPF]移动控件
cloudblaze
博客等级 码龄17年 81粉丝 125原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值