1.(选择性的)垃圾收集器元方法:在Lua5.4中,可以通过__gc元方法来管理用户数据的垃圾收集器。

2.新型for迭代器:Lua5.4还采用了新的for泛型循环,即增加了一个可选的状态。

3.重载了“+=”操作符,允许+=语法sugar,例如:a+=1代替了a=a+1。

4.在string库中引入了新的函数pack和unpack,可以从字符串中打包/解包二进制数据。 这是一个非常有用的特性,特别是在处理大数据或序列化/反序列化数据时。

5.引入了更精确的舍入模式,通过math库的新函数“ult”提供了更精确的舍入。

6.生成器和协程改进。在Lua 5.3中,生成器和协程都不支持垃圾收集。在Lua 5.4中,这个问题得到了改善。

7.新增table.move函数,这个函数可以更方便地移动表中的元素。

8.debug库增加了表的长度操作符"#"的支持。

9.改进了错误报告机制,增加了新的函数“warn”,可以在不终止程序的情况下向用户报告错误。

10.增加了对utf8库的支持,对Unicode有更好的处理。

Unity常见插件汇总

介绍

收集了相关的Unity插件,供大家学习使用,如果用于商业活动,请购买相关版权

插件列表

1. A* Pathfinding Project

一个功能强大并且易于使用的 Unity 寻路系统。通过快速的路径寻找,将在点对点之间找到最合适的路径解决方案

2. Behavior Designer

适合于不仅仅是程序员使用也适合于产品+设计师,Behavior Designer 提供具有强大的 API 的直观可视化编辑器,帮您轻松创建新任务

3. DOTween Pro

可以用极少的代码处理复杂的动画效果,替代了我们在协程或者在Update里面撰写大量的逻辑控制代码

4. Easy Save

在实际开发中我们需要储存各种类型的数据,并想要数据得到保护,那么EasySave绝对是为这些需求量身定做的

5. Lean Touch

为手指触摸控制你的游戏提供极其简单的解决方案,这让你可以快速添加触摸控制到你的游戏-无需代码

6. Playmaker

这是unity3d最好的一款可视化编辑器,突破了非程序员止步于开发任务的障碍

7. Cross Platform Replay Kit

能在移动设备iOS和Android上轻松进行屏幕录制,可以在 Unity 上对你的游戏和其他你想要录制记录的画面轻松进行屏幕录制

8. BestHttp

提供包括Websock,Socket.IO,SignalIR,download/upload等特性。适合于大型网络游戏/项目,网络联机游戏项目

9. UFPS

快速构建FPS的模板项目
提取码:nyj6

10. Photon PUN+

是一款制作多人联机游戏的插件,同时支持PC端、手机端和网页端的Unity项目

11. Ultimate Inventory System

制作背包仓储系统的最佳插件
提取码:7eu5

12. Obfuscator

可以保护游戏代码和游戏资源,防止被逆向工程破解

13. Anti-Cheat Toolkit

保护游戏数据,免于被某些玩家作弊

14. SALSA LipSync Suite

一款制作唇语同步&面部动画的插件

15. Edy's Vehicle Physics

可以为赛车类游戏提供各种逼真的真实物理效果

16. Editor Console Pro

取代Unity原生控制台编辑器的插件,生产力提升必备插件

17. Odin - Inspector and Serialize

一款可视化编程插件,可以让开发者序列化任何内容

18. I2 Localization

unity功能最全的本地化插件,可以本地化图片、文字、声音、图集、预设等资源

19. Rewired

可以帮助开发者轻松处理各种外设的输入,以控制游戏世界

20. Loxodon Framework Bundle

一个非常好用的AssetBundle加载器,也是一个AssetBundle冗余分析工具

21. QHierarchy

增强Hierarchy窗口的功能,极大提升开发效率

22. Koreographer Professional Edition

制作音乐节拍类游戏的必备神器

23. Master Audio

是Unity游戏开发的终极音频解决方案

24. Final IK

反向动力控制插件

25. PuppetMaster

高级的活跃布娃娃物理系统,带有布娃娃创建和编辑工具

26. Curved UI

资源商店中唯一真正的曲线界面系统

27. VR Interaction Framework

借助 VR 交互框架,轻松创建属于自己的可交互对象并迅速上手
提取码:kvse

28. Amplify Shader Editor

一款基于节点的可视化shader制作插件

29. Octave3D-Level Design

帮助Unity开发者制作关卡

30. Mesh Baker

用来合并Mesh和Materials,这样可以降低游戏对内存和显卡的消耗

31. Corgi Engine

一款制作2D/2.5D的平台游戏引擎,内部集成了若干有趣的游戏
提取码:jydg

32. Doozy UI Manager

Unity内部的一个UI管理插件
提取码:bbik

33. Fantasy Environment

包含了大量的幻想风格的游戏素材
提取码:xyqs

34. MapMagic World Generator

一款基于节点制作地形的插件
提取码:ssvw

35. TopDown Engine

Unity 最完善的自上而下解决方案
提取码:e5x7

36. Dynamic Bone

可给角色骨骼和关节增添物理效果

37. Feel

可以增加游戏感觉的插件
提取码:d341

38. Text Animator for Unity

让对话变得活泼,借助这一简单易用的自定义插件将游戏文本动画化

39. Dialogue System for Unity

可在游戏中轻松添加互动式对话和任务

40. Adventure Creator

帮助你制作传统的 2D、2.5D 和 3D 冒险游戏

41. All In 1 Vfx Toolkit

快速简单的创建出VFX
提取码:khgj

42. RPG Character Mecanim Animation Pack

1320个漂亮又专业的动画, 可兼容Xbox360游戏手柄, 以及基于物理学的人物控制器脚本

43. The Vegetation Engine

植物渲染资源包
提取码:m37x

44. Emerald AI

快速创建AI
提取码:noik

45. Enviro - Sky and Weather

非常好用的天气资源
提取码:mmat

46. UMMORPG

Unity最好的RPG游戏模板项目
提取码:y87r

47. UMOBA

Unity最好的MOBA游戏模板项目

最近换了一台新电脑,重新安装了android studio,在使用内置的Git推送代码的时候,发现一个问题,一直报错,提示Device not configured,原因是 mac 在密钥管理里面删除了android studio 保存的git 账号密码,所以导致向服务器推送时,认证失败。要修复这个问题,需要将Git的设置里Use credential helper进行勾选,如下图所示;

2023-08-23T02:52:15.png

《代码简洁之道》(Clean Code)是由Robert C. Martin所著的一本经典软件工程书籍。这本书通过实际案例和示例,提供了一系列关于如何编写易于理解、易于维护和高质量的代码的指导原则和实践方法。以下是对该书的总结:

1.可读性:代码应该易于阅读和理解。命名清晰、简洁,函数和类应该具有明确的目的和功能。书中提倡采用有意义的命名和注释,通过代码的阅读来传递信息。

2.函数设计:函数应该短小精悍,只做一件事,并且只做好一件事。函数应该具有良好的抽象性和一致性,遵循单一职责原则。书中介绍了如何设计简洁、可测试和可复用的函数。

3.代码组织:代码应该有良好的结构和组织。通过模块化、类的划分和包的设计来实现代码的可扩展性和可维护性。书中强调了模块化设计的重要性,以及如何通过封装和解耦来提高代码的质量。

4.错误处理:正确处理错误和异常是代码质量的重要组成部分。书中提倡使用异常来处理错误情况,而不是返回特定的错误码。此外,还介绍了如何使用异常屏蔽细节,并给出了异常处理的最佳实践。

5.测试和质量保证:书中强调了测试的重要性,并介绍了单元测试、集成测试和持续集成的实践方法。通过编写高质量的测试用例,可以提高代码的可靠性和可维护性。

6.重构:重构是改善代码质量和可读性的关键技术。书中介绍了各种重构技术和模式,例如提炼函数、提取类、简化条件表达式等。通过重构,可以消除重复代码、提高代码的可读性,并减少代码中的坏味道。

7.并发编程:书中也涉及了并发编程的相关内容。并发编程带来了复杂性和潜在的问题,但通过良好的设计和合适的并发控制机制,可以避免并发相关的错误和性能问题。

《代码简洁之道》是一本对于软件开发者来说非常有价值的书籍。它强调了代码质量和可读性的重要性,通过实用的指导原则和实例,帮助读者编写出易于理解、易于维护和高质量的代码。

作为程序员,职业素养是非常重要的,它涉及到你作为一名专业人士所应具备的道德、职业道德和工作态度。以下是一些程序员应该具备的职业素养:

1.专业知识:作为程序员,你应该持续学习和提升自己的专业知识。这意味着你需要了解最新的编程语言、框架和技术趋势,并不断跟进行业的发展。

2.代码质量:编写高质量的代码是程序员的基本素养。你应该注重代码的可读性、可维护性和可扩展性,遵循良好的编程实践和标准,编写清晰、简洁、高效的代码。

3.合作与沟通:程序员通常是团队中的一员,良好的合作和沟通能力是至关重要的。你应该能够与团队成员有效地合作,分享知识、经验和资源,并能够清晰地表达自己的想法和观点。

4.问题解决能力:作为程序员,你将面对各种技术和逻辑问题。你应该具备良好的问题解决能力,能够分析和理解问题,并提供有效的解决方案。这包括独立思考、调试代码、查找文档和寻求帮助等。

5.职业道德:作为一名程序员,你应该遵守职业道德准则。这包括保护用户隐私和数据安全,遵循法律和法规,尊重知识产权,不参与非法活动,以及对项目和客户的机密信息保密等。

6.持续学习:技术行业的发展非常迅速,作为程序员,你应该具备持续学习的精神。不断探索新技术、学习新工具和框架,参加培训和研讨会,与同行交流经验,保持自己的竞争力。

7.项目管理和时间管理:作为程序员,你经常需要同时处理多个项目和任务。你应该具备良好的项目管理和时间管理能力,能够合理安排工作,掌握优先级,保证项目按时交付。

8.责任心:作为程序员,你对自己的工作应该有责任心。你应该对自己的代码质量负责,并能够承担自己的工作结果。

总而言之,程序员的职业素养不仅包括技术能力,还包括道德和职业道德、合作与沟通能力、问题解决能力、职业道德、持续学习、项目管理和时间管理,以及责任心。通过遵循这些职业素养,你可以成为一名优秀的程序员,并在职业生涯中取得成功。

此外,还有一些其他的职业素养也值得注意,例如:

9.团队合作:作为程序员,你很可能是一个团队的一部分。你应该能够与团队成员协作,互相支持和理解,以实现共同的目标。

10.客户服务:如果你的工作涉及与客户或用户直接交互,你需要具备良好的客户服务能力。这包括善于倾听客户需求、及时回应客户问题和反馈,并提供专业的支持和解决方案。

11.文档和注释:良好的文档和注释是优秀程序员的标志之一。你应该编写清晰、详细的文档,解释代码的功能和设计原理,并为代码添加有意义的注释,以便其他人能够理解和维护你的代码。

12.自我管理:作为程序员,你通常需要在工作中具备自律和自我管理的能力。这包括制定合理的工作计划、管理时间和优先级、保持专注和高效,以及平衡工作与生活。

综上所述,程序员的职业素养涉及多个方面,包括专业知识、代码质量、合作与沟通、问题解决能力、职业道德、持续学习、项目管理和时间管理、责任心,以及其他一些能力。通过不断发展和提升这些素养,你可以成为一名出色的程序员,并在职业生涯中获得成功。