问题标签 [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.
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 都被过滤以获取关联的控制器?
干杯!
language-agnostic - 我应该如何格式化这段代码?
这里有两种调用方式callscript
(伪代码):
使用重复调用
使用额外的变量
条件
- 我必须确保那
flag
是false
调用脚本的时间。 - 此外,该
flag
值必须恢复到原始值。
有比这两个更好的方法吗?如果不是,其中哪一个是更好的选择?
javascript - 根据 Javascript 中哪个条件中断了 while 循环,最干净的分支方法是什么?
说我有这个循环
它可能会被 4 个条件中的任何一个变为假而被打破,我想根据它是哪个来执行不同的代码。理想情况下,我不想比我绝对必须的更多地评估它们。假设browseReddit()
迫使我们再次评估它们。
在循环之后放置一个 if 链是我目前的做法。有没有更清洁的方法?在您的回答中,重视简洁高于一切。
programming-languages - 没有 ELSE 关键字的编程语言 - 它更复杂吗?
我正在开发一种基于Karel的简单儿童编程语言。为了控制程序流程,我目前提供了这些工具(在伪代码中):
- 定义无参数过程
- if [not] 表达式语句
- while [not] 表达式语句
我没有任何方法可以从程序中返回,也没有提供else
声明。
以下面的代码为例:
代码的执行流向if
,执行statement1
ifsomething
为真;然后测试如果something
不是真的(但程序的状态已经改变了!),然后执行statement2
。这可以导致两个测试都成功。
这会限制程序员吗?到目前为止,我已经能够通过使用if
... if not
... 或if not
先使用然后使用来解决我的所有示例问题if
。
所以,我的问题是:
添加else
语句是否必要?拥有更多关键字会使语言变得更加复杂。所有可以用else
语句解决的问题,如果没有它,是否也可以解决,尽管更复杂?
还是省略该else
语句实际上使语言更加复杂和违反直觉?
jquery - 在每个循环完成后执行一个函数
嘿,我正在开发一个 jQuery each()-loop,其中包含一个 ajax 请求和一个 setTimeout。这给我的程序流程带来了一些问题。
我的问题是最后一行中的 console.log() 立即被触发(而循环仍在处理数据)。等待循环完成是否有任何简单的可能性?\:
最好的祝福!
c - 出于清晰或优化原因而编写冗余程序流程语句?
我将其标记为 C,尽管它确实适用于许多语言。其原因是处理优化的问题的一部分,这取决于编译器。
有时我们在程序中会遇到这样的情况:
else
正如您可能看到的那样,这里的块并不是绝对必要的。其他程序流控制结构也会发生同样的事情。由于特殊情况,一些“普通”结构变得多余。问题是:是否有理由编写这些冗余代码块?明晰?如果情况足够复杂,它能否帮助编译器进行优化?
java - 奇怪的程序流程
我真的对以下代码感到困惑:
当我跳过代码行时,它按以下顺序执行:
更奇怪的是,它甚至没有进入GetResponseContentText
功能。我真的很困惑。任何人都可以对此有所了解吗?
另外,如果我注释掉 if 语句,它可以正常工作(进入GetResponseContentText_GZip
函数)。
vba - 我们是否需要为每个子例程创建一个错误处理程序?
我从 SO 中复制一段代码作为示例。该子例程包含一个错误处理程序。是否应该为所有 Subs 创建一个错误处理程序?
顺便问一下,当代码执行器遇到Exit Sub
,End Sub
和时,子程序内部的控制流程如何Resume
?而当它遇到诸如ProcError:
执行过程中的标签时,它是执行它,还是跳过它?
java - 显示每个请求统计信息和程序流的 Java 分析器
我正在寻找支持每个请求分析统计信息的分析器,最好是沿着程序流(不是通常的线程调用堆栈)。所以基本上每个请求都有一个分析器调用堆栈+顺序调用视图,如下所示:
分析哪些类/方法以某种方式配置,对于处理每个方法调用的跟踪分析器,这当然是不可用的。
我知道并使用过 dynaTrace,它的“PurePath”功能(http://www.dynatrace.com/en/architecture-tame-complexity-with-purepath.aspx)支持这一点,但我正在寻找适合的工具可用于较小的项目,并且需要较少的初始投资和设置。
是否有任何“经典”分析器(YourKit 等)支持此功能而我忽略了该功能?
附录:提供一些背景知识:主要目标是为生产系统的监控和分析提供统计数据。首先也是最重要的想法是获取请求需要多长时间的实时统计数据,以防响应时间上升以获得某些(类型)请求的数据(想想 JETM + x)。
每个请求的分析统计允许详细分析为什么只有一些请求很慢,例如,如果 10% 的请求花费的时间是平均请求的十倍。使用汇总统计数据,这是 AFAIK 很难解决的问题。
沿着程序流呈现调用的分析统计数据也是如此,因为很容易识别问题在请求中的位置,例如,一个方法执行十个数据库查询,您将每个调用视为一个调用,而不仅仅是十个聚合调用。
理想情况下,测量点在运行时进行配置和启用/禁用。
c# - C#中抛出异常后的程序流程
嗨,我正在查看一些旧的 c# 代码,并注意到很多这样的代码:
我想知道是否存在需要 else 块的情况?我可以安全地将代码缩短为此而不会产生任何影响吗?
默认情况下,异常应该将程序流抛出此方法,对吗?但我只是想知道 DotNet 中是否有办法调整未处理的异常的处理方式,这会导致第二个实现与第一个实现不同?