当前位置:首页>java>代码之外的真相:99%的软件工程师都忽视的核心能力

代码之外的真相:99%的软件工程师都忽视的核心能力

  • 2026-02-02 09:14:57
代码之外的真相:99%的软件工程师都忽视的核心能力

「这个问题很简单,你两天能搞定吧?」「我觉得应该要个弹窗,提醒用户...」「为什么这个功能做出来和我想要的不一样?」

如果你对上面这些话感到熟悉,那你一定经历过那些「明明写了代码却解决不了问题」的时刻。

我们花大量时间学习算法、框架、架构模式,研究性能优化、代码规范、最佳实践。我们以为技术的深度决定了工程师的价值,所以疯狂刷题、学新技术、追赶技术潮流。

但如果我告诉你:在真实的软件工程中,写代码反而是最容易的部分呢?

让我用一个残酷但真实的现象来开启这个话题:

那些技术最牛、代码写得最优雅的工程师,往往不是升职最快的那批人。那些能推动复杂项目、解决棘手业务问题、让团队高效协作的人,反而经常不是技术大牛。

为什么?

因为软件工程的本质从来不是代码,而是在复杂的人类世界里解决问题

软件工程师的核心技能到底是什么?

在超过十年的职业生涯中,我见过无数技术大牛折戟于「解决正确的问题」,也见过技术平平的工程师因为「明白问题是什么」而脱颖而出。这些观察让我逐渐意识到,软件工程师的核心能力可以概括为四个维度:

1. 理解用户需求2. 与人沟通3. 把模糊的想法变成清晰的方案4. 在约束条件下做权衡

这四个能力环环相扣,构成了软件工程师解决问题的完整闭环。它们不涉及任何代码技术,但它们决定了你写的每一行代码的价值。

一、理解用户需求:在混乱中寻找真相

「我们需要一个更快的系统。」

这句话你听过多少次?表面上需求很清晰——「更快」。但仔细想想:

  • 更快是指响应时间?还是吞吐量?
  • 哪些场景需要更快?全部还是特定功能?
  • 现在有多慢?多快算足够快?
  • 愿意为「更快」付出什么代价?

理解用户需求的难点在于:用户往往不知道自己想要什么,或者无法准确表达自己想要什么

为什么这么难?

人类思考的方式和计算机处理信息的方式截然不同。用户描述问题用的是自然语言,充满了模糊、歧义、情绪化的表达,而我们需要把这些转化为精确、无歧义的技术方案。

更糟糕的是,用户经常只描述症状,而非根本原因。比如用户说「页面加载太慢」,真正的问题可能是:

  • 服务器性能瓶颈
  • 网络传输问题
  • 前端代码低效
  • 或者是用户的心理预期和实际性能差距不大,但体验设计有问题

如何真正理解需求?

1. 不要只听表面,要问「为什么」

用户说「我需要一个导出Excel的功能」,不要马上开始写代码。要问:

  • 你导出Excel想做什么?
  • 导出后如何使用这些数据?
  • 有多少人需要这个功能?频率如何?
  • 如果我告诉你,导出PDF或者直接在页面上查看也能解决你的问题,你会接受吗?

多问几层「为什么」,你可能会发现问题的本质完全不同。

2. 识别真正的用户是谁

「用户需要这个功能」——这个「用户」是谁?

  • 是产品经理口中的「用户」?
  • 是真正使用系统的终端用户?
  • 是需要通过数据做决策的管理者?

不同用户的需求可能完全冲突。理解用户需求的第一步是明确:我们在为谁解决问题?

3. 观察而非仅仅听取

最好的需求分析师不是在会议室里问问题的人,而是坐在用户旁边看他们如何工作的人。

去看真实的使用场景、操作流程、痛点在哪里。很多用户习以为常的操作,对你来说可能就是优化的机会。

真实案例

我见过一个项目,产品经理坚持要做一个「批量导入用户」的功能。团队花了两周时间开发,上线后发现几乎没人用。

后来才发现,真正的需求不是「批量导入」,而是「快速添加新用户」。用户之所以要批量导入,是因为现有的添加流程太繁琐——每次都要填写20个字段。

最后优化方案不是做批量导入,而是:

  • 简化必填字段(从20个减少到5个)
  • 自动填充常用值
  • 提供用户模板复制功能

这样既解决了用户的痛点,又避免了批量导入带来的数据质量风险。

二、与人沟通:技术语言与业务语言的桥梁

如果你觉得沟通很累,那你不是一个人。

程序员和业务人员之间仿佛说着两种不同的语言:

  • 「这个接口响应太慢了」 vs 「我们需要优化查询性能」
  • 「用户点击没反应」 vs 「前端交互事件没有正确绑定」
  • 「系统经常崩」 vs 「服务的稳定性不符合SLA要求」

沟通问题的核心在于:双方都在用自己的方式理解问题,但没有建立共同的语言基础。

为什么沟通如此重要?

因为软件项目从来不是一个人的游戏。

你需要和产品经理确认需求,和设计师确认交互,和后端确认接口,和测试确认用例,和运维确认部署,和利益相关者确认进度...

沟通能力差 = 项目推进缓慢,甚至失败。

如何有效沟通?

1. 翻译能力

优秀的工程师是「技术-业务双语翻译官」:

  • 能把业务需求翻译成技术方案
  • 能把技术限制翻译成业务影响
  • 能把复杂技术问题翻译成非技术人员能理解的语言

比如,当产品经理问「为什么这个功能要下周才能上线?」

不要说:「因为我们要重构数据库层,还要写单元测试,然后...」

而要说:「这个功能涉及到核心数据,为了保证上线后不出问题,我们需要做额外的测试工作。现在仓促上线风险太大,可能影响现有用户的使用体验。」

2. 用故事和比喻

非技术人员听不懂技术术语,但他们理解故事和比喻。

缓存机制 = 图书馆的热门书放在前台数据库索引 = 书架上的目录微服务 = 专业的医生团队 vs 全科医生

3. 主动沟通 vs 被动响应

很多工程师的习惯是:「等别人来找我」。

但主动沟通的工程师会:

  • 在需求澄清会上主动提出问题和担忧
  • 在项目中途主动汇报进度和风险
  • 在出现问题时主动寻求帮助,而不是等到最后一刻

真实案例

一个工程师接到任务:「优化系统性能」。

被动沟通的工程师:

  • 默默开始分析代码
  • 发现性能瓶颈在数据库
  • 写了复杂的缓存方案
  • 上线后发现数据库连接数超标,系统崩溃

主动沟通的工程师:

  • 找产品经理确认:「性能具体指什么?响应时间?并发量?」
  • 找运维了解:「系统现在的资源使用情况如何?能否扩容?」
  • 找业务确认:「哪些功能是核心用户最常用的?优先优化这些?」
  • 制定分阶段优化方案,先解决80%的场景,再处理20%
  • 在每阶段完成后主动汇报结果和下一步计划

结果:被动工程师花了两周,项目失败;主动工程师花了一周,解决了90%的问题,用户满意度很高。

三、把模糊的想法变成清晰的方案:从「做什么」到「怎么做」

「我们需要做一个数据分析系统。」

这是模糊的想法。清晰的方案应该包括:

  • 系统的目标是什么?解决什么问题?
  • 需要哪些功能模块?优先级如何?
  • 技术栈选择?架构设计?
  • 数据从哪里来?如何处理?如何展示?
  • 多少人参与?时间周期如何分配?

这个过程叫做需求工程 + 方案设计,是软件工程师最核心的能力之一。

为什么这个能力如此重要?

因为想法可以天马行空,但方案必须可执行。

一个模糊的想法可能包含无数种实现方式,但只有少数几种是在实际约束条件下可行的。软件工程师的价值,就是从无数可能性中找到那条最优路径。

如何做到?

1. 拆解与结构化

面对复杂问题,第一步是拆解。

「做一个数据分析系统」可以拆解为:

  • 数据采集层:从哪里获取数据?
  • 数据存储层:用什么数据库?
  • 数据处理层:如何计算、聚合?
  • 数据展示层:用什么图表?如何交互?
  • 用户权限层:谁能看什么数据?

每个子问题还可以继续拆解,直到变成可以独立解决的小任务。

2. 明确输入和输出

对于每个功能或模块,问自己:

  • 输入是什么?(数据格式、来源、时机)
  • 输出是什么?(结果格式、展示方式)
  • 转换逻辑是什么?(处理规则、算法)

输入-输出-转换的三部曲,是方案设计的基本框架。

3. 考虑边界情况

正常流程总是容易设计的,难点在于边界情况:

  • 数据为空怎么办?
  • 网络失败了怎么办?
  • 用户并发访问怎么办?
  • 数据量激增怎么办?

好的方案不是只考虑「理想情况」,而是预判各种可能的异常并设计应对策略。

4. 渐进式细化

不要一次性设计所有细节。

先设计一个粗略的框架,然后逐步细化每个部分。这个过程可以让你在早期发现问题,而不是等到后期才发现方案不可行。

真实案例

一个电商公司要做「个性化推荐系统」。

模糊的想法是:「根据用户浏览和购买记录,推荐他可能喜欢的商品。」

一个工程师直接开始研究推荐算法:协同过滤、深度学习、用户画像...花了一个月,做了一个原型,效果一般,但无法解释为什么推荐这些商品,业务方不敢上线。

另一个工程师先做了方案拆解:

  1. 数据收集:用户浏览、购买、搜索行为
  2. 特征工程:用户兴趣、商品属性、行为权重
  3. 推荐算法:选择简单可解释的规则 + 协同过滤
  4. 结果展示:推荐理由、相关性排序
  5. 效果评估:点击率、转化率、A/B测试

他先用简单的规则(「买过A的用户也买了B」)做了一个基础版本,两周上线收集数据,然后根据数据优化算法。三个月后,推荐系统的点击率提升了30%,而且每个推荐都有明确的「推荐理由」,用户和业务方都满意。

两者的区别:前者陷入了「技术完美主义」,后者遵循了「渐进式实现、数据驱动优化」的工程思维。

四、在约束条件下做权衡:没有完美的方案,只有合适的选择

「这个功能很重要,我们两周内必须上线!」

但同时还有:

  • 系统架构需要重构
  • 技术债需要偿还
  • 用户体验需要优化
  • 性能需要提升

资源永远有限,需求永远旺盛。软件工程师的核心能力之一,就是在相互冲突的约束条件下做出最优选择。

常见的约束条件

1. 时间约束

  • 截止日期不可更改
  • 市场窗口期很短
  • 业务方已经承诺上线时间

2. 资源约束

  • 团队人数有限
  • 预算有限(服务器、第三方服务)
  • 工程师能力分布不均

3. 质量约束

  • 系统稳定性要求(SLA)
  • 数据准确性要求
  • 安全性要求

4. 技术约束

  • 现有技术栈的限制
  • 第三方API的限制
  • 历史遗留代码的限制

如何做权衡?

1. 明确优先级

不是所有约束都同等重要。

关键问题:如果不满足这个约束,后果是什么?

  • 时间延期 → 市场机会丧失?营收受影响?用户体验下降?
  • 质量妥协 → 系统崩溃?数据错误?安全问题?
  • 资源不足 → 功能减少?性能下降?推迟上线?

明确优先级后,你才知道在冲突中应该保什么、舍什么。

2. 权衡的三种基本策略

快速但不完美: MVP(最小可行产品)

  • 先上线核心功能
  • 技术方案可以简单、粗糙
  • 后续迭代优化

完美但不快: 追求极致

  • 深度优化性能
  • 完善的错误处理
  • 可扩展的架构设计

平衡折中: 中庸之道

  • 功能完整但技术方案简单
  • 性能满足要求但不追求极致
  • 代码质量尚可但不是最优

3. 让利益相关者参与决策

当你面临艰难权衡时,不要自己做决定。让那些受影响的人参与进来。

比如:我们现在有两个选择:

  • 选项A:两周上线,但只能实现60%的功能
  • 选项B:一个月上线,功能完整你们更倾向哪个?

把问题和数据摆在桌面上,让决策透明化。这样即使结果不如预期,大家也能理解为什么。

4. 记录权衡的理由

今天你觉得合理的权衡,三个月后可能看起来是个糟糕的决定。

所以,在技术文档、设计文档中记录你权衡的理由

  • 当时的约束条件是什么
  • 为什么选择这个方案而不是那个
  • 有什么已知的风险和限制

这不仅是给别人看的,也是给未来的自己看的

真实案例

公司需要做一个新功能:团队协作中的实时评论。

技术团队讨论后,发现有两种方案:

  • 方案A:使用WebSocket,实现真正的实时推送
  • 方案B:使用轮询,定时获取最新评论

方案A用户体验更好,但实现复杂、服务器压力大;方案B实现简单、稳定,但有延迟(几秒到几十秒)。

团队面临权衡:体验 vs 复杂度

最终决策:

  1. 先用方案B(轮询)上线,两周内完成
  2. 收集用户反馈,观察延迟是否影响使用
  3. 如果用户不介意,继续使用方案B;如果用户体验差,再升级到方案A

结果:上线后发现,90%的用户对几秒的延迟并不敏感。团队避免了WebSocket的复杂性,把时间用在了其他更重要的功能上。

这是一个典型的「先快速,后完美」的权衡案例。

技术能力 vs 核心能力:一个残酷的真相

让我们回到开篇的问题:为什么技术最牛的工程师,不一定是最成功的?

因为技术能力是基础,但不是差异化优势。

当技术能力达到一定水平后(比如能独立完成复杂功能),继续提升技术能力的边际收益会递减。而核心能力(理解需求、沟通、方案设计、权衡)的提升,会带来指数级的价值增长。

想象一个能力矩阵:

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
技术能力:★★★★☆核心能力:★★★★☆→ 顶级工程师,价值巨大技术能力:★★★★☆核心能力:★★☆☆☆→ 技术专家,价值有限技术能力:★★★☆☆核心能力:★★★★☆→ 产品型工程师,价值巨大

你的不可替代性,不在于你掌握了多少技术,而在于你能用技术解决多大的问题。

如何培养核心能力?

理解了重要性,如何培养?

1. 离开代码,走向用户

不要只盯着代码。去:

  • 参加需求评审会,认真听用户/产品经理的描述
  • 主动和用户沟通,了解他们的真实场景
  • 观察用户如何使用你的产品

2. 练习翻译能力

每天练习:把一个技术概念解释给非技术人员听。

比如:

  • 缓存是什么?
  • 为什么系统要重构?
  • 什么是API?

如果你能用日常语言解释清楚,说明你真正理解了。

3. 记录和反思

每次项目结束后,问自己:

  • 需求理解是否准确?哪里出了偏差?
  • 沟通中有什么可以改进的地方?
  • 方案设计中有哪些遗憾?
  • 权衡决策是否合理?

持续反思,持续改进。

4. 向高手学习

观察那些解决问题的能力很强的工程师,他们是如何:

  • 询问问题的
  • 提出方案的
  • 做权衡决策的
  • 与不同角色沟通的

模仿是学习的捷径。

结语

代码是工具,不是目的。

软件工程的核心,从来不是写出最优雅的代码,而是用最合适的技术手段解决真实的问题

那些真正优秀的工程师,不一定是技术最牛的,但一定是最擅长:

  • 理解用户真正需要什么
  • 和不同的人有效沟通
  • 把模糊的想法变成可执行的方案
  • 在约束条件下做出最优选择

这四个能力,才是软件工程师的核心竞争力。

所以,下次当你陷入技术细节时,停下来问问自己:

  • 我在解决正确的问题吗?
  • 我真的理解用户的需求吗?
  • 我的方案是最合适的吗?
  • 我的权衡决策基于什么理由?

答案,比代码更重要。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-02-08 18:06:56 HTTP/2.0 GET : https://f.mffb.com.cn/a/465242.html
  2. 运行时间 : 0.134884s [ 吞吐率:7.41req/s ] 内存消耗:4,487.70kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=1c1a714975779c253f566e2ed72922ab
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000781s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000641s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000766s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000639s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000465s ]
  6. SELECT * FROM `set` [ RunTime:0.000280s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000488s ]
  8. SELECT * FROM `article` WHERE `id` = 465242 LIMIT 1 [ RunTime:0.000560s ]
  9. UPDATE `article` SET `lasttime` = 1770545216 WHERE `id` = 465242 [ RunTime:0.007030s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 65 LIMIT 1 [ RunTime:0.000233s ]
  11. SELECT * FROM `article` WHERE `id` < 465242 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000392s ]
  12. SELECT * FROM `article` WHERE `id` > 465242 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000365s ]
  13. SELECT * FROM `article` WHERE `id` < 465242 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000828s ]
  14. SELECT * FROM `article` WHERE `id` < 465242 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000923s ]
  15. SELECT * FROM `article` WHERE `id` < 465242 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000701s ]
0.136544s