当前位置: 网站首页>小程序开发>小程序制作

泰州网站推广【泰州办理400电话】泰州SEO优化、泰州微信公众号APP客户端小程序开发、泰州网站托管、泰州APP开发

发表日期: 2021-04-25 10:55:34 浏览次数:112

泰州网站推广【泰州办理400电话】泰州SEO优化、泰州微信公众号APP客户端小程序开发、泰州网站托管、泰州APP开发


泰州,简称“泰”,古称海陵,是江苏省地级市,长江三角洲中心区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中国大陆最佳商业城市100强。2020年10月9日,被生态环境部授予第四批国家生态文明建设示范市县称号。2020年10月,被评为全国双拥模范城(县)。

c2/17/Soundex.h

   std::string encodedDigits(const std::string& word) const {➤    if (word.length() > 1) return encodedDigit();
      return "";
   }➤ std::string encodedDigit() const {➤    return "1";➤ }复制代码

测试驱动与测试

我们要以测试驱动方法开发更多的辅音变换逻辑(如c对应2、d对应3,等等),使解决方案更具通用性。为此,应该在ReplacesConsonantsWithAppropriateDigits中加一个断言,还是再创建一个测试呢?

TDD的经验法则是一个测试一个断言。我们提倡专注测试行为,而非测试功能函数。大部分时候要遵从这一个规则。

对第二个辅音进行编码的断言不像是另一个行为。如果创建一个这样的测试,该怎么命名呢?难道是ReplacesBWith1、ReplacesCWith2……?

向测试中加入第二个断言来表示一个测试用例的情况比较少。我们希望一个断言失败时,其他的代码能继续执行。为此,我们使用Google Mock提供的EXPECT_THAT宏而非ASSERT_THAT

c2/18/SoundexTest.cpp

   TEST_F(SoundexEncoding, ReplacesConsonantsWithAppropriateDigits) {➤    EXPECT_THAT(soundex.encode("Ab"), Eq("A100"));➤    EXPECT_THAT(soundex.encode("Ac"), Eq("A200"));
   }复制代码

上述代码中,第二个辅音处理情形需要一个if分支来处理特殊的情况。

c2/18/Soundex.h

   std::string encodedDigits(const std::string& word) const {➤    if (word.length() > 1) return encodedDigit(word[1]);
      return "";
   }➤ std::string encodedDigit(char letter) const {➤    if (letter == 'c') return "2";
      return "1";
   }复制代码

再加上第三种数据输入情形。

c2/19/SoundexTest.cpp

   TEST_F(SoundexEncoding, ReplacesConsonantsWithAppropriateDigits) {
      EXPECT_THAT(soundex.encode("Ab"), Eq("A100"));
      EXPECT_THAT(soundex.encode("Ac"), Eq("A200"));➤    EXPECT_THAT(soundex.encode("Ad"), Eq("A300"));
   }复制代码

第三个辅音处理情形让事情变得明朗,需要用一个基于哈希(hash)的集合代替简单的if分支。

c2/19/Soundex.h

   std::string encodedDigit(char letter) const {➤    const std::unordered_map<char,std::string> encodings {➤       {'b', "1"},➤       {'c', "2"},➤       {'d', "3"}➤    };➤    return encodings.find(letter)->second;
   }复制代码

现在,需要写代码支持其余的辅音转换。问题是,每个辅音转换功能都需要以测试驱动方式开发吗?

在TDD诞生初期有个口头禅:“可能出问题的地方都需要测试。”人们常常会问:“我需要测试什么?”这个口头禅算是一个漫不经心的回复。事实上,encoding中的映射(map)操作出现问题的风险比较小。不挨个测试一遍,应该也不会出什么问题。

一个相反的观点是,什么都可能出问题,无论它多么简单(我以前就是这样的,嘿嘿)。对重复数据越是感到乏味,犯错误的几率越大,甚至不会注意到已经犯错了。测试可以降低犯错的几率。

另外,测试好比一个辅音转换为数字的清晰文档(虽然你有可能辩称表格本身就是一个再清楚不过的文档了)。反过来,如果创建一个有几百个元素的表格,为每个都提供测试似乎很荒唐。

正确答案是什么?考量的重点在于我们在做测试驱动开发,而非测试。你或许会问:这有什么不同吗?答案是肯定的。用测试的技巧,你会全面地分析规范(也有可能是代码),并创建大量的测试来罗列各种行为。TDD则着力于代码设计。测试主要用于表述你要构建的行为。TDD过程中编写的测试大都是这个流程的附属产物。有了这些测试,在接下来改动代码时,你会更有信心。

其实,TDD与测试之间的区别很微妙。TDD的一个重要方面就是秉承够用心态。你写的测试只是为开发代码做准备。当要开发下一个行为时,再写测试。如果代码逻辑不再变,就可以不用写测试了。

当然,实际经验起决定作用。直到发布一个缺陷时,TDD都能很好地工作。但是,一旦选择TDD,还是要提醒自己采取更小、更安全的步伐。

既然选择了TDD,那就来完成转换表吧!

c2/20/Soundex.h

   std::string encodedDigit(char letter) const {
      const std::unordered_map<char, std::string> encodings {       {'b', "1"}, {'f', "1"}, {'p', "1"}, {'v', "1"},       {'c', "2"}, {'g', "2"}, {'j', "2"}, {'k', "2"}, {'q', "2"},                   {'s', "2"}, {'x', "2"}, {'z', "2"},       {'d', "3"}, {'t', "3"},       {'l', "4"},       {'m', "5"}, {'n', "5"},       {'r', "6"}
      };
      return encodings.find(letter)->second;
   }

c51c866ffa1ab3457f2021e8bbdbcc1.jpg


泰州网站推广泰州办理400电话泰州SEO优化、泰州微信公众号APP客户端小程序开发、泰州网站托管、泰州APP开发

400-111-6878
服务热线
顶部

备案号: 苏ICP备11067224号

CopyRight © 2011 书生商友信息科技 All Right Reserved

24小时服务热线:400-111-6878   E-MAIL:1120768800@qq.com   QQ:1120768800

  网址: http://www.768800.com  网站建设上往建站

关键词: 网站建设| 域名邮箱| 服务器空间| 网站推广| 上往建站| 网站制作| 网站设计| 域名注册| 网络营销| 网站维护|

企业邮箱| 虚拟主机| 网络建站| 网站服务| 网页设计| 网店美工设计| 网站定制| 企业建站| 网站设计制作| 网页制作公司|

400电话办理| 书生商友软件| 葬花网| 调温纤维| 海洋馆运营维护| 北京保安公司| 殡仪馆服务| 殡葬服务| 苏州殡葬一条龙| 朝阳殡葬| 苏州殡葬服务|

预约专家

欢迎您免费咨询,请填写以下信息,我们收到后会尽快与您联系

  

服务热线:400-111-6878