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

泰州网络公司哪家好【泰州企业网站百度SEO推广公司】泰州做网站开发价格、泰州淘宝店铺开店装修设计运营、公司网站制作方案流程改版维护费用、泰州高端企业网站页面制作设计专业公司需要多少钱

发表日期: 2021-04-25 11:20:44 浏览次数:103

泰州网络公司哪家好【泰州企业网站百度SEO推广公司】泰州做网站开发价格、泰州淘宝店铺开店装修设计运营、公司网站制作方案流程改版维护费用、泰州高端企业网站页面制作设计专业公司需要多少钱

泰州,简称“泰”,古称海陵,是江苏省地级市,长江三角洲中心区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月,被评为全国双拥模范城(县)。

可以将encodedDigits()中的两个步骤提取成两个单独的函数,每个函数各自包含一个抽象概念的实现细节。如此,encodedDigits()中的代码只是声明了解决方案的策略。

c2/37/Soundex.h

std::string encodedDigits(const std::string& word) const {
   std::string encoding;
   encodeHead(encoding, word);
   encodeTail(encoding, word);
   return encoding;}void encodeHead(std::string& encoding, const std::string& word) const {
   encoding += encodedDigit(word.front());}void encodeTail(std::string& encoding, const std::string& word) const {
   for (auto letter: tail(word)) {
      if (isComplete(encoding)) break;

      auto digit = encodedDigit(letter);
      if (digit != NotADigit && digit != lastDigit(encoding))
         encoding += digit;
   }}复制代码

这样看起来好多了。再往前迈进一步,将encodeTail()中的for循环体提取出来。

c2/38/Soundex.h

void encodeTail(std::string& encoding, const std::string& word) const {
   for (auto letter: tail(word))
      if (!isComplete(encoding))
         encodeLetter(encoding, letter);}void encodeLetter(std::string& encoding, char letter) const {
   auto digit = encodedDigit(letter);
   if (digit != NotADigit && digit != lastDigit(encoding))
      encoding += digit;}复制代码

从视觉上看,重构后的代码还有进一步提升的空间。对单个字母编码的encodeHead()函数是不是encodeTail()中编码的一个特例呢?尽管去试验吧!因为有了测试的保证,所以你所做的事情将是安全的。目前而言,我们觉得算法的实现已经足够清楚,所以继续吧!

收尾工作

那元音怎么办呢?规则3说被一个元音(不是h或w)分开的相同编码,应该编码两次。

c2/39/SoundexTest.cpp

TEST_F(SoundexEncoding, DoesNotCombineDuplicateEncodingsSeparatedByVowels) {
   ASSERT_THAT(soundex.encode("Jbob"), Eq("J110"));}复制代码

再一次通过声明要完成的目标来解决问题。我们修改了encodeLetter()中的条件表达式,在不是重复编码或最后一个字母是元音的情况下,追加一个数字。这个声明也敦促了一些其他的相应改动。

c2/39/Soundex.h

   void encodeTail(std::string& encoding, const std::string& word) const {➤    for (auto i = 1u; i < word.length(); i++)➤       if (!isComplete(encoding))➤          encodeLetter(encoding, word[i], word[i - 1]);
   }➤ void encodeLetter(std::string& encoding, char letter, char lastLetter) const {
      auto digit = encodedDigit(letter);
      if (digit != NotADigit &&➤          (digit != lastDigit(encoding) || isVowel(lastLetter)))
         encoding += digit;
   }➤ bool isVowel(char letter) const {➤    return➤       std::string("aeiouy").find(lower(letter)) != std::string::npos;➤ }复制代码

把最后一个字母传入isVowel()中是最好的方法吗?不过,这个方法直接且具有表达力。我们暂时先这样做。

漏了什么测试吗

我们很少拥有所有的规范。很少有人会如此幸运。即便是Soundex的规则,看似完整,实际却不能蕴含所有情形。在编程过程中,一些测试或代码实现经常会激发我们进行其他方面的思考。一般而言,要么把这些思考结果记在脑子里,要么写到一个列表或记事本中。下面就是对Soundex进行思考而得到的列表。

  • 若给定的词中含有分隔符,如句点(例如,Mr.Smith),该怎么办?应该忽略它们(就像现在做的这样),抛出一个异常(假定客户应该把词合理地分好),还是做些其他操作?

说到异常,怎样以测试驱动的方法在代码中加入异常处理?

  • 空字符串该怎样编码?(或者说,可以假定不会接收到一个空字符串输入吗?)

  • 该怎样处理非英语字母中的辅音(如ñ)?Soundex算法依然适用吗?isVowel()函数需要支持带变音符的元音吗?

许多这样的考虑对于设计一个健壮的Soundex类至关重要。若未能处理好它们,在实际使用中,应用程序可能会失效。

对于诸如此类的问题,我们其实没有确切的答案。作为程序员,我们应该已经学会适时作出自己的决定。但往往更好的方法就是去问客户,甚至可以和他们一起制定验收测试。

“系统应该按照A来做,还是按照B来做?”以往而言,我们会直接把选择代码化,然后继续。这样做的后果是,未能及时将我们作出的决定写入文档。有时,解决方案B可能会被夹杂在一大堆其他代码中。当然,可以分析代码来确定我们作出了什么选择,但这通常很耗时。相信我们都曾经花过无数小时试图判定代码的行为吧!

相反,TDD留下了一份清晰的文档。我们可以毫不费力地回忆起数月前作出的决定。

和迄今为止所做的一样,我们可以采用TDD方式为前面提出的几个问题开发解决方案。这些漏掉的测试就留给读者作为练习吧!

c51c866ffa1ab3457f2021e8bbdbcc1.jpg

泰州网络公司哪家好泰州企业网站百度SEO推广公司泰州做网站开发价格、泰州淘宝店铺开店装修设计运营、公司网站制作方案流程改版维护费用、泰州高端企业网站页面制作设计专业公司需要多少钱

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