技术杂谈-编程问题

偶然探讨到解决技术问题的方法,于是有了这篇杂谈(o_ _)ノ

0%

前言

在解决技术问题时, 通常是由浅入深, 由点及面; 但最终所做的, 无非就是探索问题的本质, 然后补全认知; 当然也有部分"玄学"的解决方法, 不知所以然的就解决了问题, 但这往往都是代表对问题刨析的不够透彻.

如果作为一名极客我会对此嗤之以鼻, 因为这缺乏了最基本的探索精神, 但作为一名从业者, 我只会对此表示加以理解, 因为这是普遍的结果导向, 它有可能是临时性的措施, 也有可能是最终的解决方案, 而作为从业者的我们, 只是选择了最适合结果的路径.

我不清楚这是否会让我们渐渐失去对编程的热爱, 但无论你我, 只需要明白, 编程, 只是我们探索世界的技能, 而自己本身的意志才是我们不断前进下去的动力.

技术问题的解决路径

在开始前, 得先明确一点, 不同程度的人对待问题理解程度是有很大差异, 就好比你不能让一个初学者一开始就去源码里找答案一样, 因此, 我们探讨的是解决路径而不是方法.

在技术问题面前, 简单分为两类:

  • 不知道怎么实现
  • 实现了但不符合预期

对于第一类, 如果是不是前沿的技术, 那么 现阶段的搜索引擎, 大模型AI都能快速的解决, 同时也要记住, 与之相关的技术文档, 项目仓库Issues这些都是有可能存在答案的地方.

如果这些都找不到实现方法的话, 那就需要更近一步了解需要用到的技术了, 从大到小, 拆分可能需要用到的技术知识, 然后去阅读说明或者源码, 尝试去解决它.

对于第二类, 先牢记一句话**"编程最忌讳的就是乐观主义",** 大部分时候不符合预期是写的代码问题, 少部分是环境问题, 如果有明显错误日志, 按第一类的方法就能解决, 如果一直排除不出错误, 自己写的没有问题, 环境之类也检查过了, 也没有犯任何低级错误, 那就不要怀疑, 问题不是出在你身上, 从源头入手, 说不定就是使用的库导致的, 一步一步追查下去, 总会找到病症所在, 如果不清楚从那里入手, 那准是你对这块了解不深, 那去加深相关的知识储备吧.

这很像解数学题, 举一反三, 排除法, 类比法, 假设法等都可以成为找到答案的路径.

最后, 请记住, 寻求他人帮助也是一条不错的路径.

谈一谈极限编程

极限编程(英语:Extreme programming,缩写为XP),是一种软件工程方法学,是敏捷软件开发中应用最为广泛和最富有成效的几种方法学之一。

有一种编程方法学, 叫"极限编程", 它的特点就是"快", 而在我看来, 它有一个更通俗的解释: "应用型编程", 同时也被戏称为"面向搜索引擎编程"。

通常, 在一个项目的周期中, 没法让你熟悉所有需要用到的知识, 这就需要你把那些"一知半解"的东西快速的应用起来, 然后在实践中不断学习巩固它们, 以达到按时交付的目的, 这通常需要有很高的技术素养,并可以在短时间内学以致用。

这可以看成是极限编程的一个缩影, 但极限编程所提倡的并不是快, 所有软件工程都需要建立在一定质量的基础上, 而质量是最不可妥协的, 我们可以有一些看上去不合情理的操作, 但只要不影响最终的质量就可以。

我们追求高质量的编码, 同时也会在时间, 成本, 范围上做出一定的妥协, 这才是极限编程, 用各种方法, 包括沟通, 反馈, 规范等让我们减少在时间上的花销达成项目上的需求。

也可以说, 极限编程是处理软件开发中质量, 时间, 变化这三者间的方法论。


------------ 已触及底线了 感谢您的阅读 ------------
  • 本文作者: OWQ
  • 本文链接: https://www.owq.world/c7884b30/
  • 版权声明: 本站所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处( ̄︶ ̄)↗