学习新技术怎么模块化,将每次写的代码让下一次可以重复利用

浪子SJ 2021-05-07 09:50:16
比如我现在在学习控件,做一些按钮,文本和布局,我想在做项目时直接可以调用而不是又重新进行学习和敲代码,组长说可以把这些东西做成类,具体该怎么做呢?
我现在想把qt的所有控件都简单的做到一个我可以调用的类,可以实现吗?
...全文
395 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
如果不是算法,比如控件,则导出为dll
  • 打赏
  • 举报
回复
现在能学到的新技术,GNU的开源软件基本都有了,除非很前沿的。
ooolinux 2021-05-10
  • 打赏
  • 举报
回复
个人觉得SDK纯API方式编写Windows程序已经过时了,效率太低,了解一下原理就可以了,主要是消息机制。 图形用户界面(GUI)编程可以学习C++ Builder,架构先进(和C#一样拖控件),入门比较容易。   C++ Builder是真正的可视化的开发工具。C++ Builder可以用鼠标拖拉控件加上设置属性轻松的“设计”出一个程序的图形用户界面,利用可视的组件/控件像“搭积木”一样,以“所见即所得”的方式搭建应用程序的界面,这也是C++ Builder这个名字中Builder的概念。这样,只需要用C++语言编写业务逻辑代码,类似于DOS下文本界面编程,只要专注于实现业务逻辑功能就可以了,代码非常简洁。数据的输入和表现,都在图形用户界面,非常直观、易用。这就是RAD开发(Rapid Application Development,快速应用程序开发)。 书籍推荐: 《C++Builder 6程序设计教程(第二版)》 (陆卫忠,刘文亮 等编著 /2011-04-01 /科学出版社)(当当网) 《C++Builder 6编程实例精解》(赵明现),PDF,是数字版的,非扫描版的,里面还有一个俄罗斯方块游戏的完整实现。 《精彩C++Builder 6程序设计》(台湾 吴逸贤),里面有10几个简单小游戏的实现,可以自己看懂以后再重写,才是自己掌握的。 《C++ Builder 5高级编程实例精解》(刘滨 编著)都是较大的实用的程序。 C++ Builder 6.0几个示例程序项目源代码下载: C++ Builder第一个程序(模拟聊天室)v1.11 C++ Builder模拟数字双时钟示例(未完成)v0.2.1 C++ Builder纸牌游戏Demo v0.05 C++ Builder不规则图像透明贴图(位图的透明显示)三种方法及简单动画v1.3 C++ Builder写的《ZEC 四则运算练习程序》 海底海星情景v0.9.2 C++ Builder简单电话簿Demo例子v1.11
赵4老师 2021-05-07
  • 打赏
  • 举报
回复
请牢记:源代码本身的书写是否结构化或面向对象或符合设计模式或敏捷…并不重要,重要的是你是否使用结构化或面向对象或符合设计模式或敏捷…的方法命名标识符、阅读、修改、检查、测试源代码。 意思是你程序结构看上去再合理,再简洁,也不一定比看上去一团乱麻的程序结构在运行或修改时更不易出错,更方便修改,出错了更容易找到哪里出错和具体出错的原因,更容易改正错误。 试对比 图书馆(对图书的分类够结构化了吧) 和 搜索引擎(可看作是扁平化任何结构数据,仅支持全文检索) 哪个处理信息更方便、更高效。 所以 与其费劲去重构代码让其看上去更简洁、更合理 不如费劲学习grep、sed、awk、……这类全文搜索和批处理编辑的工具。 结构越复杂,越难修改,越难除错。 有时(甚至大多数时候),看上去越合理、越简洁的代码,运行起来性能越差,出错时查找原因越难,找到出错原因后改正越费劲。 程序员要做的不是尽力避免错误,而是聚焦在快速发现并改正错误。真正以快速方式轻易解决错误,“快速的失败”远胜过“预防错误”。Fred George 前微软C#编辑器的开发主管Jay Bazuzi列出的一些有助于找到正确方向的问题;他觉得前同事们应该用这些问题来问自己;实际上不管在哪里工作的开发者们都应该经常问问自己这些问题: ◆“要保证这个问题不会再出现,我该怎么做?” ◆“要想少出些Bug,我该怎么做?” ◆“要保证Bug容易被修复,我该怎么做?” ◆“要保持对变化的快速响应,我该怎么做?” ◆“要保证我的软件的运行速度,我该怎么做?” 如果大多数团队都能不时问一下自己,必定会从中得益,因为这些都是真正强而有力的问题。
千梦一生 2021-05-07
  • 打赏
  • 举报
回复
1.设计时一定要自上而下。这一点一定一定要做到【具体考虑:自己准备实现的这个模块的提供哪些功能?提供哪些输出?达成功能需要哪些输入?】【考虑这些的时候不要不能去考虑具体代码如何如何】 2.设计模块时脑子里有且仅有这一个模块。不要去考虑如何与其它模块的输入输出进行对接。设计的[color=#0000FF]模快的输入输出接口不受要外部干扰[/color] 3.模块功能越单一、越简单越好!!!模块功能越单一、越简单越好!!!模块功能越单一、越简单越好!!! ...其它,暂时想不起 然后设计出一大堆独立、功能单一的模块。这里大多是抽象的、不面向应用的 接着就是针对具体需求、情景设计一个框架【类似汽车底盘】,把各个模块连接【这个连接的过程由于模块设计时对输入输出接口高度的独立性原则,理论上极有可能遇到接口与实际需求接口不匹配的情况,所以,这个连接过程个人以为也是一种连接模块【具体最常见的表现就是类中属性的get和set函数】】起来。
NorZ 2021-05-07
  • 打赏
  • 举报
回复
...难道你现在自己做的控件不是一个类?

64,639

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧