V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
TimerClick
V2EX  ›  问与答

命令行和界面的复杂度真是 O(1)和 O(n)啊~

  •  
  •   TimerClick · 2018-11-29 10:28:02 +08:00 · 3022 次点击
    这是一个创建于 2188 天前的主题,其中的信息可能已经有所发展或是发生改变。

    从 0 开始做了这么多 demo,再把部分变成能面向内部的“项目”、到最终做成面向用户的“产品”,总是经历从命令行测试到“能不能加个界面”、“不加界面怎么用啊”的过程,发现 无 论 是 什么程序,加上界面的过程复杂度都激增(当然指的是应用界面而非 web 前端),我知道因为我水平不行啊~~但是,大佬们,在加界面问题上,真的有方便的轮子或者套路吗?

    23 条回复    2018-11-29 23:26:51 +08:00
    misaka19000
        1
    misaka19000  
       2018-11-29 10:31:39 +08:00 via Android
    同求
    TimerClick
        2
    TimerClick  
    OP
       2018-11-29 10:32:07 +08:00
    求求求~
    NotNil1
        3
    NotNil1  
       2018-11-29 10:38:22 +08:00
    只是为了测试加个界面?
    TimerClick
        4
    TimerClick  
    OP
       2018-11-29 10:39:53 +08:00
    @ljtletters 不是啊,可以表述为:demo 向产品化过程中面临的必然问题~
    daigouspy
        5
    daigouspy  
       2018-11-29 10:40:54 +08:00 via Android
    命令行的学习复杂度是 O (n*n*n)呢
    lululau
        6
    lululau  
       2018-11-29 10:41:19 +08:00
    命令行不就是界面吗,CLI,命令行界面啊
    daigouspy
        7
    daigouspy  
       2018-11-29 10:41:39 +08:00 via Android
    @daigouspy 所以一般人只要界面
    whileFalse
        8
    whileFalse  
       2018-11-29 10:49:11 +08:00
    试试基于 Slack 的交互。。。
    炒鸡简单~
    TimerClick
        9
    TimerClick  
    OP
       2018-11-29 11:10:24 +08:00
    @daigouspy 不吧,比如简单的一个文件通信传输,命令行我 control C 就硬直了,然后我加界面就要考虑有可能需要暂停吧,怎么暂停、中止还是暂停、暂停后续传怎么办.etc ,所以总觉得没界面简单多了
    SeaRecluse
        10
    SeaRecluse  
       2018-11-29 11:15:19 +08:00   ❤️ 1
    @TimerClick 你不会做个界面,然后所有指令都是后台启动命令行运行吗:|
    orangeade
        11
    orangeade  
       2018-11-29 11:18:23 +08:00
    自己用就命令行,再复杂点写个类似 telegram bot 之类文字按钮交互的,
    或者考虑写点简单的 html,js,再或者其他跨平台 GUI 框架
    最后才考虑原生 GUI
    daigouspy
        12
    daigouspy  
       2018-11-29 11:19:11 +08:00 via Android
    @TimerClick 你啊!还是程序员思维,普通用户就是要能看到的。还别清高,普通用户搞不定,再牛逼的产品也卖不出去,牛逼还不是得饿死。
    May725
        13
    May725  
       2018-11-29 13:11:41 +08:00
    个人认为无解,demo 到产品化 是要花心思的, 所以一个好的产品不是那么容易的
    SorcererXW
        14
    SorcererXW  
       2018-11-29 13:51:15 +08:00
    根本原因是命令行是完全可以单线程同步的, 如果出错, 就直接报错就好了
    用户界面的话, 你得做异步, 执行一个操作的时候, 得不影响用户执行其他界面交互
    TimerClick
        15
    TimerClick  
    OP
       2018-11-29 14:57:43 +08:00
    @SorcererXW 但不到异步真是维度上的障碍啊,不过说到底,还是我太菜了。。。
    mumbler
        16
    mumbler  
       2018-11-29 15:09:42 +08:00
    当年 delphi 和 VB 把界面制作简化到了极致,但带来的问题是布局不够精准,所以后来都用 XML 布局界面了,这个目前最平衡的方式
    wysnylc
        17
    wysnylc  
       2018-11-29 16:05:46 +08:00
    命令行你一样得处理暂停重连的问题,只是一般直接重来罢了.
    只是你用命令行是自己用,图形界面是别人用,差别在此!而不是图形化不图形化产生的问题
    cchange
        18
    cchange  
       2018-11-29 18:44:02 +08:00 via iPhone
    @mumbler xmp ? 是 wpf 吗?
    reself
        19
    reself  
       2018-11-29 18:46:54 +08:00 via Android
    界面也是你做吗?学习一下 web 的 mvc 呀,把功能和视图分离
    miniliuke
        20
    miniliuke  
       2018-11-29 19:00:41 +08:00 via Android
    关键是有些语言也不适合写界面啊......比如说 python、golang 啊
    t6attack
        21
    t6attack  
       2018-11-29 19:06:29 +08:00
    程序只要功能实现就可以了。界面还得考虑做成什么样,这是无限可能。
    另外:完美主义+强迫症+怕抄袭 = 0 永远别想做完。
    suit
        22
    suit  
       2018-11-29 19:08:22 +08:00
    我正在用 html 写 win 桌面程序的 UI,界面都写好了,结果发现有严重的性能问题,DOM 节点超过 5000 直接卡死无法操作,难受
    MonoLogueChi
        23
    MonoLogueChi  
       2018-11-29 23:26:51 +08:00 via Android
    WPF 很方便
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3367 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 12:36 · PVG 20:36 · LAX 04:36 · JFK 07:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.