晚间和同学散步,我们讨论“如何提升coding能力”,让我联想起早上的素质教育课程。上一次听职慧的讲座是关于时间管理的,很有印象,他们的四字总结深入人心,这次类似。解决问题的步骤,他们有“望、闻、问、切”四字决。我突然想,如何用四字诀来分析我们刚才的问题。首先,提升coding是一个模糊的目标。我们首先要搞清楚当前的状况,然后列出预期达到的目标。为什么要提高呢?是写代码慢还是写不出来呢?如果是慢,什么叫慢。如果是写不出来,那是写什么写不出来,是写作业还是写项目。这样一想,发现自己的问题是C编程写作业代码慢,简单的作业耗时大大超过预期。而自己预期达到的目标是独立完成一个C语言小项目。现在的目标就清晰了。我是希望由用C语言吃力完成作业的状态转变为用C语言独立实现小项目的状态。如果要量化,就是代码量从100行转换到1000行的级别。目标清晰之后,就是“闻”的阶段。为什么当前C语言只能写100行。写的时候,语法总感觉不太熟悉,总要去查询手册,或者看博客。其次,思考作业思路比较局限,写出的代码逻辑漏洞多。这就是代码只能写100行左右的2个基本原因。先来看语法不熟悉的情况有哪些可能的解决办法。既然不熟悉,说明接触的少,或者未接触过。接触的少,那就需要多写。另外,并不是多写了就记住了,还得分类记忆,不同的函数库,有不同的功能,要对它们的基本函数做分析,为什么属于这个类,这样记忆就会牢靠一点。另外自己写代码发现一点,如果经常通过看博客的方式解决遇到的问题,那忘掉这个函数的速度比查专业函数库案例要快。为什么呢?主要是博客太零散。而专业函数库分门别类,条理清晰。因此,在解决不熟悉函数问题时,用函数库比用博客要好。这也不绝对,函数库往往解决常规问题,有时博客能发现一些取巧的用法,掌握后能提高效率。漏洞较多,这是硬伤。这也是下午和同学重点讨论的。我认为是思维的质量太低决定了代码漏洞多。怎么叫思维的质量低呢?听起来像低智商的感觉。其实是每门学科都有自己的思维体系,计算机学科也是如此。如果不遵循对应的思维方法,那代码肯定问题多。现在问题来了,什么才叫正确的思维方法。如果能搞清楚所有正确的思维方法,写程序就是一件很愉快的事情。答案就在算法和设计模式中。我们常说算法没用,因为我们开发中很少用现成的算法去做一些任务。但其实另外一个我们需要面对的情况是,面对复杂的业务逻辑,有的人能快速理清,有的人却很头疼。这就是逻辑力在起作用。所以,算法的作用其实就是塑造良好的逻辑能力,让你在应对复杂问题时仍然能够有简洁的思维。这是困难的,因为能套用地方并不那么多。有的人可能不怎么懂算法,也能写出优质的代码。因为他们在长久的磨练中,已经具备了实现复杂逻辑的能力。至于如何磨练的,这就存在很大的个体差异,具有不可复制性。因此计算机学科依然是依靠算法来培养学生的标准化程序思维。对我而言,我能选择的也是如此,通过算法的训练来增强程序化思维,把这种思维套路尽可能地用到代码实践中去,去实现100行到1000行的转变。
相关推荐
利用CubeMX复现正点原子TFTLCD驱动例程
①准备delay.c、delay.h、sys.c和sys.h四个文件。FMC的工作原理暂时先欠着,先记录一下CRUD的过程。这里我们使用的是BANK1 的第一个分区。点击 Configuration->FMC。②把fmc自动生成的代码注释掉一部分。配置参数如下图 17.5.1。③这个printf语句要屏蔽掉。选项卡之下配置相关参数。④整体代码,按需裁剪。
解决问题最简单的方法
在推荐《横向领导力》一书时,提到书中的系统思考饼图: 这张图提供了解决问题的思考框架和行动指南。 我们今天要推荐的这本书——《Think Smart, Act Smart》(中文名:解决问题最简单的方法),可以看作是上面的系统思考框架的行动版,它综合了来自心理学家、数学家、商业顾问、竞技高手、甚至军事战略家的智慧,教授我们怎么样分析问题,理出方案,并找到最简单最聪明
Unity类银河恶魔城学习记录1-10 PlayerWallJump源代码 P37
Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释,可供学习Alex教程的人参考
日志分析技巧:用于诊断和解决问题
日志分析是诊断和解决问题的重要工具,尤其是在分布式系统如 Apache Spark 中。以下是几种日志分析技巧,帮助更有效地诊断问题和优化应用程序性能。
如何快速获取SAMM、SMIC等主流微表情数据集?完整申请指南(附避坑技巧)
本文提供了获取SAMM、SMIC等主流微表情数据集的完整申请指南,包括申请前的准备工作、分步申请流程、协议谈判技巧以及数据使用与维护策略。特别针对高分辨率动态捕捉和多模态同步数据等热词,帮助研究者高效获取高质量数据集,避免常见陷阱。
俄罗斯方块 C++控制台版
一、创建方块 wstring tetromino[7]; tetromino[0].append(L"..X...X...X...X."); // Tetronimos 4x4 tetromino[1].append(L"..X..XX...X....."); tetromino[2].append(L".....XX..XX....."); tetromino[3].append(L"..X..XX..X......"); tetromino...
AionUi错误日志分析:解决问题的实用技巧
AionUi作为一款免费、本地、开源的GUI应用,集成了Gemini CLI、Claude Code、Codex等多种AI模型,为用户提供了增强的聊天界面、WebUI以及多智能体功能。在使用过程中遇到错误是难免的,本文将分享如何通过日志分析快速定位并解决AionUi的常见问题。 ## 日志系统基础:AionUi如何记录错误 AionUi采用了分级日志系统,通过控制台输出不同级别的错误信息。在`
手把手教你搭建幽冥传奇手游:从环境配置到常见Bug修复(附完整避坑指南)
本文详细指导如何从零搭建幽冥传奇手游,涵盖服务器选型、数据库部署、双区架构配置等关键步骤,并提供通天塔闪退、技能显示异常等常见Bug的修复方案。附完整避坑指南,帮助开发者高效解决90%的典型问题,确保游戏稳定运行。
Prime Agent日志分析:诊断和解决问题的高级技巧
Prime Agent是一款用于编码工作流和长时间自主任务的自改进RLM代理,能够帮助开发者自动化处理各种复杂任务。在使用过程中,日志分析是诊断和解决问题的关键技能,本文将分享Prime Agent日志分析的高级技巧,助你快速定位并解决问题。 ## 日志文件位置与类型 Prime Agent的日志系统设计清晰,不同类型的日志存储在不同位置,方便用户根据问题类型快速定位。 ### 主要日志文件
智联招聘Python岗位数据采集:基于API请求的校园招聘信息爬取实战
本项目开发了一个智联招聘Python岗位校园招聘数据采集系统,采用requests库直接调用API接口获取结构化数据。系统通过分析API接口结构,配置完整的请求头、Cookie和身份验证参数,实现了10页数据的批量采集。采集内容包括工作名称、薪资范围、企业信息等10个关键字段,并存储为Excel格式。项目严格遵守网络爬虫规范,合理控制请求频率,数据仅用于技术学习和就业分析。技术实现涉及API逆向工程、JSON数据处理、防御性编程等核心技能,为学生职业规划和教育机构教学改革提供数据支持。
【从零开始vnpy量化投资】十一. 实盘接入测试与正式实盘
本篇主要讲解如何使用vnpy进行实盘交易,由于上一节我们已经学习了模拟盘运行,如果一切顺利的话,只需要通过穿透测试,就可以正式部署实盘了。
WechatDataBackup错误日志分析终极指南:5个技巧快速定位和解决问题
WechatDataBackup是一款强大的微信聊天记录一键导出工具,但有时在使用过程中可能会遇到各种错误和问题。本文为您提供完整的错误日志分析指南,帮助您快速定位和解决WechatDataBackup使用中的常见问题。💡 ## 🔍 理解WechatDataBackup错误日志类型 在使用WechatDataBackup时,您可能会遇到以下几种主要类型的错误: 1. **权限错误**:微
lammps模拟技巧:高熵合金势函数设置三种方法
大家好,我是小马老师。 本文继续介绍lammps模拟中的势函数设置方法。 在前面的文章中,介绍过高熵合金的建模:高熵合金建模 高熵合金包含的原子数较多,势函数的设置相对复杂,在平时一对一的咨询中,这种问题也相对较多。 下面介绍三种高熵合金势函数设置方法。 1.下载专用势函数 下面的网站包含了大多数原子的势函数: https://www.ctcms.nist.gov/potentials/ 如需下载包含Fe原子的势函数,直接点Fe: 出现势函数列表: 比如Al-Co-Cr-Fe-Ni就是高熵合金AlCoC
09年收获之:分析与解决问题技巧
从这个Title来看似乎有些大,换句话说就更明确了,其实我们要解决这个问题:拿到领导给你的任务之后你怎么做? 总结起来三个步骤:一停、二看、三通过! 一停:核心是要把将要执行的任务进行再次陈述,注意是陈述! 陈述的目的是为了能够更好的理解老板的任务目标,确保我们理解的和老板想要的是同一回事!有时候老板可能也不是特别清楚自己的目标是什么,那此时我们更要帮助老板把目标明确化; 陈述的内
C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片
基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正
蓝牙模块HM-10手册
蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。
Joomla! CMS错误调试与日志分析:快速定位和解决问题的技巧
作为全球最流行的开源内容管理系统之一,Joomla! CMS 为网站建设提供了强大的功能支持。然而,在实际使用过程中,开发者经常会遇到各种错误和问题。本文将为您提供一套完整的Joomla!错误调试与日志分析解决方案,帮助您快速定位并解决这些问题。💡 ## Joomla!调试工具的核心配置 ### 系统调试插件启用方法 Joomla! 内置了强大的系统调试插件,位于 `plugins/syst
VC中sqlite的使用
在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示
Rust-esp32-std-demo调试技巧:使用串口监控和日志分析解决问题
Rust-esp32-std-demo是一个基于Rust语言的ESP32标准库演示项目,它能够连接WiFi、以太网,驱动小型HTTP服务器并在LED屏幕上绘图。对于新手开发者来说,调试嵌入式项目可能会遇到各种问题,而掌握串口监控和日志分析技巧是解决这些问题的关键。本文将详细介绍如何在Rust-esp32-std-demo项目中使用串口监控和日志分析来快速定位并解决问题。 ## 一、准备工作:搭建
VB摄像头监控
该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制
《麦肯锡意识》前言 解决问题的战略模型-思维导图
《麦肯锡意识》前言 解决问题的战略模型-思维导图 文章目录解决问题的理论模型解决问题的战略模型客户需求分析汇报管理实施领导力本书侧重探讨此模型的分析、汇报和管理部分 本书的基础是麦肯锡所实践的解决问题流程 关于解决问题流程 解决问题的理论模型 战略模型图:0-1 解决问题的战略模型 见书前沿XXVIII 图0-1 该图贯穿本书内容 下面是六个具体内容 该模型还有另一方面的内容 直觉与数据之间的关系 合理的决策需要两者的平衡 资源不是无限的 问题并不是在真空中解决的 客户需求 没有
索骥馆-效率管理之《凡事巧于方法:分析问题和解决问题的精妙解析》高清扫描版[PDF]...
内容介绍:近几年来,从中小学校的教育到公务员的应试,从科技领域的创新到工厂企业的实际操作……培养解决问题的能力越来越受到各行各业的重视。《凡事巧于方法》就是通过各类经典的案例和精细的分析,帮助各行各业的读者提高自己分析问题和解决问题所应该采取的途径、步骤、手段等。 成功的秘诀,就是要不断地发现问题、分析问题、解决问题,让自己大于一切的问题。如果你能变成一个处理问题和克服障碍的...
优秀大数据分析师必备8大技能
什么是大数据分析师? 简而言之,大数据分析师就是使用技术技能来分析数据和报告见解的人。 通常,大数据分析师可能会使用SQL技能从公司数据库中提取数据,使用编程技能来分析该数据,然后使用沟通技巧来将其结果报告给更大的受众。 这是一项令人满意的工作,薪水很高。成为大数据分析师还可以提供经验,这些经验可以帮助您晋升为数据科学家等更高级的职位。 所以你想成为一名大数据分析师 您已经决定要成为大数据分析师。也许您的目标是成为一名数据科学家,但是您知道许多入门级工作都.
谈谈程序员解决问题的能力
之前写过一些文章,有的同学想让我写写在鹅厂的一些经验,其实说真的,在鹅厂工作也是因人而异的,不管在哪里工作最终还是取决于你是怎么赋予工作的意义,每天纠结自己工作重复繁重,纠结工作技能得不到提升,纠结薪水满足不了自己的欲望,纠结这纠结那是毫无意义的。程序员的解决问题能力不是天生的,自然得靠后天的经验积累。你先看具体的编译错误是什么,看自己以前是否有遇到过,是否能够确定是什么环节导致的编译错误,比如是开发环境版本问题,或者是插件的版本问题,又或者是代码导致的编译问题,这类问题只要逐个排除相信也能够轻松解决。
解决问题
最直接的能力就是等于解决问题。怎么去解决问题?解决问题最需要的基本要素有:资源 思维。而解决问题最重要的是找到key,找到了问题的关键点所在,你就可以思考怎么去组合和利用这些资源从而去解决问题。 资源可以是什么,可以是知识点,可以是信息,可以是人力资源,可以是钱,可以是物,可以是关系。。。 思维是什么,思维可以是记忆力,思维可以是逻辑力,思
解决问题的能力 > 10倍程序员
这里是Z哥的个人公众号每周五11:45 按时送达当然了,也会时不时加个餐~我的第「120」篇原创敬上大家好,我是Z哥。今天我们聊的话题对大多数人来说应该都算是一个“痛点”,就是怎么提高自...
分析解决问题的经验
养成一些好的习惯 1.1 在测试之前要清除控制台日志 1.2 编写好一部分就测试一部分 1.3 我们有的时候会try … catch异常,但是我们一定要记得在catch的时候打印异常e.printStack() 出现问题之后怎么去分析 2.1 看日志:找是否有异常日志(但凡能在控制台报错的异常,就一定要会解决) 2.1.1 看浏览器控制台日志 (1). 我们要学会查看浏览器的控制台F12 (2). 看console部分的内容 2.1.2 看idea控制台日志 (1). 首先找这个异常是一个什么Exc..
java代码调试技巧整理
Java 代码调试是开发过程中不可或缺的一部分,掌握高效的调试技巧可以快速定位和解决问题。以下是 Java 代码调试的常用技巧总结,包括 `JConsole` 和 `jmap` 的使用,以及不同调试方法的优缺点对比。
1612



被折叠的 条评论
为什么被折叠?



