首页 > 编程语言 >为什么程序不能一次写好?

为什么程序不能一次写好?

时间:2024-06-24 11:21:48浏览次数:13  
标签:为什么 一次 战术 框架 程序 战略 程序员 bug

这个标题也可以为: 程序员写的程序,为什么非得有bug

何为程序员?

首先,程序员的定位是工程师,即: 程序员不是码字的人,或者说不只是码字的人。需要站在工程维度上,需要站在相对高的高度上,去俯瞰工程。

何为程序?

那么,什么是程序?即: 算法 + 数据结构。

算法用来求解(花式求解),数据结构即可是支撑算法的内容,也可以是算法的结果(类似于盘子,各种大小、各种用处的盘子,好比数据结构)。

反推新的问题

基于此,只要具备一定理性、逻辑思维的人,可以通过这个问题,反推出几个有意思的问题,即:

1. 人生为什么不能一次性安排好?

2. 高考为什么不能一次性考好?

3. 。。。

此时,这个问题已经不攻自破,因为这是一种的非理性的诉求,奢望世界上存在所谓的灵丹妙药,来解决自己眼前的问题。

可,实际上,是做不到的。

如果非得详细、流程化的描述为什么程序不能一次写好,这个过程会比较繁琐,所以我通过简单的描述来解释。

简解何为开发

1. 战略

程序员(工程师),需要理解上下游诉求、限制,程序员的定位是在产品之后,理解产品的战略方向,根据战略方向制定出可执行的方案。

这是一个大框架,保障大方向的准确,也会通过具体的定时沟通,得到反馈重塑这个框架,保证对战略方向的不跑偏。

2. 战术

如果说战略是框架的制定,那么战术就是对框架中战术的细节实现,好比有一个目标: 我需要从西三旗抵达天安门广场,看升国旗。

这个目标,可以是战略中的一个实现。

此刻我们观察这个目标(产生所谓对象化的观察), 那么我们会得到几类处理方法:

交通工具选择: (1) 骑自行车去 (2) 坐时光机去 (3)开宇宙飞船去

路线选择: (1) 直来直去 (2)翻山越岭路线 (3)腾云驾雾路线

在暂时忽略上述几类处理方法的离谱状况后,这些方法如果能落地,那么就是具体的战术,这些战术会运用到具体的大框架中,作为逻辑上的一环,等待启用。

至此,开发任务,已经简单描述完毕,相信略懂其中工作环节的人,应该会明白程序不能有bug,必然是一个悖论。因为在具体的工作环境中,能保障战略的稳定推进已经是一个难题了,何况还有战术的制定/实施,上述两个内容,只要有一个动作走形,那么就会得到一个类似bug的结果。

(甚至说,可能因为战略上的错误 与 战术上的错误, 可能会导致一个结果上的正确···这种情况也是存在的)

标签:为什么,一次,战术,框架,程序,战略,程序员,bug
From: https://www.cnblogs.com/supermarx/p/18264620

相关文章

  • 程序员系统入门大模型的路径和资源,看这篇就够了
    本篇文章面向对大模型领域感兴趣,又不知如何下嘴的程序员。看一下围绕大模型的应用场景和人才需求:**Prompt工程:**基于提示词对大模型的使用,会问问题就行。**基于大模型的应用(狭义的):**通过预设一些Prompt的方式做业务层应用,俗称大模型套壳。AI主播、AINPC、AI小助手。。。......
  • 适用于 Android 的 几种短信恢复应用程序
    Android设备上的短信丢失可能由于多种原因而丢失,例如意外删除、恢复出厂设置、系统崩溃或病毒攻击。是否有应用程序可以恢复Android上已删除的短信?幸运的是,有几款短信恢复应用程序可以扫描您的Android手机并从内存或SIM卡中检索已删除的短信。然而,并非所有短信恢复应用......
  • C30 基础应用界面和应用程序(Part 6)
    本节导读演示如何使用JavaScript和Python设计和发布地球引擎应用程序。介绍地球引擎用户界面JavaScriptAPI和geemapPython包。在完成本节后,你将能够发布一个带有拆分面板地图的地球引擎应用程序,用于可视化土地覆盖变化。主要内容:使用JavaScript为地球引擎应用程序设计一个用......
  • 智能小程序 Ray 开发蓝牙设备API —— 单点蓝牙 API 接口汇总(五)
    postBLEBigDataChannelWithProgress大数据通道操作,支持进度反馈引入import{postBLEBigDataChannelWithProgress}from'@ray-js/ray';需引入DeviceKit,且在>=3.0.0版本才可使用参数Objectobject属性类型默认值必填说明deviceIdstring是deviceId设备idrequestPa......
  • XM外汇平台:为什么要设置止损点
    止损点就是当一次交易亏损到一个设置好的点位时会进行强制平仓防止更大的亏损,其目的就是在交易者预测走向失误时把损失降低到交易者可以接受的范围内。在外汇交易中,设置止损点是非常重要的,因为外汇市场的不确定性,一但预测错方向,不设置止损点就很容易出现爆仓的情况。......
  • 内卷时代!程序员如何突破35岁的宿命?
    大家好,我是码农先森。曾经梦想仗剑走天涯,如今却在写字楼里安家。他乡容不下灵魂,家乡容不下肉体,还面临着35岁被毕业,这难道就是程序员的宿命?大环境我们无法改变,但我认为至少能改变自己。我想从技术、业务、管理这三方面来阐述自己的观点,希望对大家能有所启发。技术不知大家在公司......
  • 一个非侵入式跟踪分析程序
          otel-profiling-agent为elastic开源项目,用于对生产环境中的应用程序进行性能分析,帮助开发者理解程序的运行情况,识别瓶颈,优化性能。用于包括CPU和内存使用情况的分析、调用跟踪、性能指标收集等功能。它是一个用于Linux的全系统、跨语言的性能分析器,通过eBPF(ExtendedB......
  • 简单的聊天程序(二):配置Vue-cli以加速开发
            上一章--简单的聊天程序(一):HTML+CSS实现响应式界面已经实现了响应式的界面,接下来我们要实现一些简单的交互操作。        预期结果     在左边切换不同的对话人物,并显示与其聊天记录;在输入框输入文字后按下发送按钮就会显示在上方的聊天记......
  • LeetCode热题100(136.只出现一次数字)
    一.只出现一次数字给你一个非空整数数组nums,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。示例1:输入:nums=[2,2,1]输出:1示例2:输入:nums=......
  • 资深程序员必备技能-如何对软件系统做技术规划
    1.前言本文是笔者对于技术规划的一些思考沉淀。如果这篇文章能帮助你入门技术规划,那自然是最好的,同时,正所谓教是最好的学,这也侧面了证明笔者已经掌握了技术规划的能力哈哈。2.我对软件系统技术规划的理解软件系统技术规划,顾名思义,就是对软件系统做一些技术侧的规划,分三块描述......