泰州:长江三角洲工贸港口城市,扬子江城市群重要组成部分

2025-01-03
来源:网络整理

台州网站建设【台州互联网公司】台州网站建设、台州微信公众号开发、台州网站设计、台州小程序制作

泰州,简称“泰”,古称海陵,是江苏省地级市,长三角中心区27个城市之一[1],重要的工业城市国务院批准的中国长江三角洲地区商贸港口城市[2]。截至2018年,全市辖3个区、3个县级市,总面积5787.26平方公里,常住人口463.57万人,城镇人口305.96万人,城镇化率66.0%,全年社会消费品零售额。总额1282.87亿元。 [3]

泰州位于中国东部和江苏中部。是长江城市群的重要组成部分。南临长江,北接盐城,东接南通,西接扬州。是连接南北的重要水陆交通要道。自古就是通往苏中的门户。素有“水陆为要,咽喉为郡”之称。 700多年前,马可·波罗游历台州,盛赞“这座城市不大,却有多种尘世的幸福”。 [4]

台州是国家历史文化名城。秦时称海阳,汉时称海陵。始建于南唐,文昌于北宋。南唐(公元937年)为郡,定名泰州,取“国泰民安”之意。台州人文荟萃,名人荟萃。 “儒学最盛于淮南。”王艮、刘熙载、施耐庵、郑板桥、梅兰芳等是台州文化艺术史上的杰出代表。 [4]

台州所辖县、市(区)全部建成国家生态示范区,跻身全国百强县行列。同时,台州还是全国文明城市[5]、国家环保模范城市[6]、国家园林城市、中国优秀旅游城市、国家科技城。先进城市,首批国家农业可持续发展实验示范区之一。 2017年,中国地级城市综合小康指数排名第42位[7]。

2018年11月,入选中国综合小康城市100强。 [8] 12月,被评为2018年中国内地最佳商业城市百强。2020年10月9日,被国家建设部授予第四批国家生态文明建设示范市县称号。生态与环境。 2020年10月,被评为全国双拥模范市(县)。

是否可以直接返回传入的字符串?

c2/8/.cpp

   class Soundex    {    public:       std::string encode(const std::string& word) const {➤       return word;       }    };复制代码

在任何时候,一套完整的测试都会声明系统中所需的行为。这里有一个潜台词:如果一个行为没有相应的测试来描述它,那么这个行为要么不存在,要么不是预期的(或者测试本身没有履行描述该行为的职责)。

那么该怎么办呢?现在有一个测试。但它只支持单字母单词。因此,可以假设该类只需要支持单字母单词,至少目前是这样。如果所有单词都只有一个字母,那么最简单的通用解决方案就是简单地返回传递给 () 的单词。

[其他 TDD 学校想知道,如果他们不这样做,代码会是什么样子?一个可能的技巧是编写一个类似的断言,但具有不同的数据期望。 ]

: 经过 []

泰州建设工程信息网_泰州建设厅_泰州网站建设网站

刚才的改变虽小,但现在完成却是及时的。 TDD 中的重构步骤使我们有机会专注于由小的独立代码更改引起的所有问题,无论大小。当我们经历 TDD 的每个周期时,我们使用重构来审查设计并修复出现的任何问题。

重构的主要重点是提高表现力并去除重复代码。从代码可维护性来说,这两点是最有利的。除此之外,还有其他的设计知识,比如设计原则、代码味道等。

增量式

问答时间到了!

问题:您真的对您知道要替换的东西进行硬编码吗?

回答:我经常被问到这个问题。答案是肯定的。

问题:这似乎不明智!

答:这不是问题,但刚接触时认为不明智也是正常的。我也有过这样的感觉。我在这儿。

问:你会一直这样工作吗?如果对所有内容进行硬编码,如何才能完成所有事情?

答:这是两个问题,但我很乐意回答这两个问题!是的,我们将始终循序渐进地工作。这个技巧会让你的测试很快通过。别担心,硬编码的东西最多只会存在一小会儿。我们知道我们离目标还有一段距离,所以我们需要编写更多的测试来描述这些行为。在此示例中,还需要实现其他规则。当我们接下来编写其他测试时,我们将用有趣的逻辑替换硬编码以使测试通过。

增量是 TDD 成功的关键。乍一看,增量方法显得非常不自然且缓慢。但随着时间的推移,小步渐进的开发可以加快你的速度,部分原因是它避免了一次性编写大型复杂代码所带来的错误。坚持下去! 7

7个小步骤开发的代码更能适应未来的需求和变化。 ——译者注

聪明的读者可能已经注意到,我们编写的代码并不完全符合规范。规则 4 的末尾表示,如果不是三个数字,则需要添加零。哦,这就是规范化的乐趣!我们必须仔细、全面地阅读它,彻底理解各个部分是如何相互作用的。 (最好与用户沟通,他们会澄清预期的内容。)目前,规则 4 与我们实现的代码不匹配。

想象一下这些规则一一呈现给我们。 “先完成第一条规则的第一部分,然后我再给你下一条规则。” TDD 与后一种方法一致,因为规范的各个部分都被增量地写入系统中。这种方法使我们能够以任何顺序一点一点地开发系统,并在前进过程中不断验证它。这里有一个权衡:我们可能需要花更多的时间来合并新代码,而不是做更多的规划。稍后会详细介绍这一点。现在,让我们看看如果没有这种权衡会发生什么。

现在有两项工作要做:为新行为编写新测试;并修改现有的测试以满足规范。以下是新的测试:

c2/9/.cpp

TEST(SoundexEncoding, PadsWithZerosToEnsureThreeDigits)  {    Soundex soundex;    auto encoded = soundex.encode("I");    ASSERT_THAT(encoded, Eq("I000"));}复制代码

(一位审稿人问:“为什么我们在编写测试之前不仔细阅读规范?”好问题!确实,我们没有仔细阅读规范。TDD 的优点之一是,即使不完整,我们仍然可以继续前进信息提前并能够在新信息可用时尽早纠正以前的代码)。

添加的每个测试都是独立的。我们不依赖一项测试的结果作为另一项测试的先决条件。每个测试都必须设置自己的上下文。因此,新添加的测试需要创建自己的类实例。

运行测试后,测试结果表明()返回“I”而不是“I000”。让它过去很简单。

c2/9/.cpp

   std::string encode(const std::string& word) const {➤    return word + "000";    }复制代码

硬编码可能会让事情再次变得混乱,但它将帮助我们保持正轨。对于我们当前的测试,该类不需要额外的行为。此外,通过采取尽可能最小的步骤,我们在向系统添加新行为时必须编写额外的测试。

新测试通过,但第一个测试失败。这是因为测试描述的行为与维基百科上列出的规范不匹配。

如果测试通过,则意味着该测试正确描述了系统如何工作。如果测试设计得当,它们可以作为示例,并且比规范更具可读性。在下面的练习中,我们将继续专注于使我们的测试具有可读性(我什至偶尔会称它们为规范的)。

台州网站建设【台州互联网公司】台州网站建设、台州微信公众号开发、台州网站设计、台州小程序制作

分享