问题标签 [program-flow]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
65 浏览

url - 在网络上路由 mvc

我想知道是否有人可以就如何改进应用程序每个“部分”的路由(和/或架构)提供一些建议。(我正在用 PHP5 编写,并尝试使用严格的 MVC)

基本上,我有一个应用程序的通用索引页面,它会喷出 jquery 和 css 等样板文件,它还会为整个站点生成主要导航,但我不确定连接的最佳方法“主菜单”项(超链接)及其关联的控制器。到目前为止,我一直在将字符串附加到 url 中,并使用“switch”语句通过从“$GET[]”中提取字符串来分支到正确的控制器(和视图),让它执行对应的代码行动。例如,如果我有一个用于客户数据的基本 crud 系统,则编辑客户详细信息的 url 看起来像“www.example.com/index.php?page=customer&action=edit&id=4”。

我担心这样做会带来安全问题,并且我不确定在用户单击链接后将主“index.php”文件分支到每个操作的正确控制器的替代方法。

使用 mod_rewrite 来伪装控制器名称会更好吗?或者创建一个类似于 ASP MVC 框架的系统,其中有一个单独的路由系统,每个 url 都被过滤以获取关联的控制器?

干杯!

0 投票
6 回答
66 浏览

language-agnostic - 我应该如何格式化这段代码?

这里有两种调用方式callscript(伪代码):

使用重复调用

使用额外的变量

条件

  • 我必须确保那flagfalse调用脚本的时间。
  • 此外,该flag值必须恢复到原始值。

有比这两个更好的方法吗?如果不是,其中哪一个是更好的选择?

0 投票
3 回答
77 浏览

javascript - 根据 Javascript 中哪个条件中断了 while 循环,最干净的分支方法是什么?

说我有这个循环

它可能会被 4 个条件中的任何一个变为假而被打破,我想根据它是哪个来执行不同的代码。理想情况下,我不想比我绝对必须的更多地评估它们。假设browseReddit()迫使我们再次评估它们。

在循环之后放置一个 if 链是我目前的做法。有没有更清洁的方法?在您的回答中,重视简洁高于一切。

0 投票
4 回答
588 浏览

programming-languages - 没有 ELSE 关键字的编程语言 - 它更复杂吗?

我正在开发一种基于Karel的简单儿童编程语言。为了控制程序流程,我目前提供了这些工具(在伪代码中):

  • 定义无参数过程
  • if [not] 表达式语句
  • while [not] 表达式语句

我没有任何方法可以从程序中返回,也没有提供else声明。

以下面的代码为例:

代码的执行流向if,执行statement1ifsomething为真;然后测试如果something不是真的(但程序的状态已经改变了!),然后执行statement2这可以导致两个测试都成功。

这会限制程序员吗?到目前为止,我已经能够通过使用if... if not... 或if not先使用然后使用来解决我的所有示例问题if

所以,我的问题是: 添加else语句是否必要?拥有更多关键字会使语言变得更加复杂。所有可以用else语句解决的问题,如果没有它,是否也可以解决,尽管更复杂?

还是省略该else语句实际上使语言更加复杂和违反直觉?

0 投票
1 回答
1090 浏览

jquery - 在每个循环完成后执行一个函数

嘿,我正在开发一个 jQuery each()-loop,其中包含一个 ajax 请求和一个 setTimeout。这给我的程序流程带来了一些问题。

我的问题是最后一行中的 console.log() 立即被触发(而循环仍在处理数据)。等待循环完成是否有任何简单的可能性?\:

最好的祝福!

0 投票
4 回答
415 浏览

c - 出于清晰或优化原因而编写冗余程序流程语句?

我将其标记为 C,尽管它确实适用于许多语言。其原因是处理优化的问题的一部分,这取决于编译器。

有时我们在程序中会遇到这样的情况:

else正如您可能看到的那样,这里的块并不是绝对必要的。其他程序流控制结构也会发生同样的事情。由于特殊情况,一些“普通”结构变得多余。问题是:是否有理由编写这些冗余代码块?明晰?如果情况足够复杂,它能否帮助编译器进行优化?

0 投票
1 回答
81 浏览

java - 奇怪的程序流程

我真的对以下代码感到困惑:

当我跳过代码行时,它按以下顺序执行:

更奇怪的是,它甚至没有进入GetResponseContentText功能。我真的很困惑。任何人都可以对此有所了解吗?

另外,如果我注释掉 if 语句,它可以正常工作(进入GetResponseContentText_GZip函数)。

0 投票
2 回答
11492 浏览

vba - 我们是否需要为每个子例程创建一个错误处理程序?

我从 SO 中复制一段代码作为示例。该子例程包含一个错误处理程序。是否应该为所有 Subs 创建一个错误处理程序?

顺便问一下,当代码执行器遇到Exit Sub,End Sub和时,子程序内部的控制流程如何Resume?而当它遇到诸如ProcError:执行过程中的标签时,它是执行它,还是跳过它?

0 投票
3 回答
758 浏览

java - 显示每个请求统计信息和程序流的 Java 分析器

我正在寻找支持每个请求分析统计信息的分析器,最好是沿着程序流(不是通常的线程调用堆栈)。所以基本上每个请求都有一个分析器调用堆栈+顺序调用视图,如下所示:

分析哪些类/方法以某种方式配置,对于处理每个方法调用的跟踪分析器,这当然是不可用的。

我知道并使用过 dynaTrace,它的“PurePath”功能(http://www.dynatrace.com/en/architecture-tame-complexity-with-purepath.aspx)支持这一点,但我正在寻找适合的工具可用于较小的项目,并且需要较少的初始投资和设置。

是否有任何“经典”分析器(YourKit 等)支持此功能而我忽略了该功能?

附录:提供一些背景知识:主要目标是为生产系统的监控和分析提供统计数据。首先也是最重要的想法是获取请求需要多长时间的实时统计数据,以防响应时间上升以获得某些(类型)请求的数据(想想 JETM + x)。

每个请求的分析统计允许详细分析为什么只有一些请求很慢,例如,如果 10% 的请求花费的时间是平均请求的十倍。使用汇总统计数据,这是 AFAIK 很难解决的问题。

沿着程序流呈现调用的分析统计数据也是如此,因为很容易识别问题在请求中的位置,例如,一个方法执行十个数据库查询,您将每个调用视为一个调用,而不仅仅是十个聚合调用。

理想情况下,测量点在运行时进行配置和启用/禁用。

0 投票
5 回答
2119 浏览

c# - C#中抛出异常后的程序流程

嗨,我正在查看一些旧的 c# 代码,并注意到很多这样的代码:

我想知道是否存在需要 else 块的情况?我可以安全地将代码缩短为此而不会产生任何影响吗?

默认情况下,异常应该将程序流抛出此方法,对吗?但我只是想知道 DotNet 中是否有办法调整未处理的异常的处理方式,这会导致第二个实现与第一个实现不同?