{"id":1947,"date":"2022-08-04T13:56:48","date_gmt":"2022-08-04T16:56:48","guid":{"rendered":"https:\/\/gladiston.net.br\/?page_id=1947"},"modified":"2022-08-04T18:15:48","modified_gmt":"2022-08-04T21:15:48","slug":"controle-de-qualidade-basica-ao-projeto-final","status":"publish","type":"page","link":"https:\/\/gladiston.net.br\/en\/controle-de-qualidade-basica-ao-projeto-final\/","title":{"rendered":"Controle de qualidade b\u00e1sica ao projeto em Lazarus"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Quando terminamos um projeto, seja ele em Delphi, Lazarus ou qualquer outra linguagem de programa\u00e7\u00e3o onde compilamos diretamente para m\u00e1quina, precisamos definir uma s\u00e9rie de passos para homologar o programa, mas quais?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Eu vou mencionar apenas a parte t\u00e9cnica, precisamos garantir que um programa (1) n\u00e3o tenha vazamentos de mem\u00f3ria, tamb\u00e9m conhecido como <em>memory leak<\/em> e (2) garantir que n\u00e3o hajam variaveis criadas mas n\u00e3o usadas, tamb\u00e9m conhecidas como <em>trash variables<\/em>. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mas estes dois passos \u00e9 apenas o elementar, isto \u00e9, faremos estes dois passos independemente da situa\u00e7\u00e3o, nem mesmo um &#8216;Hello World&#8217; deve escapar deles.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Claro, sempre haver\u00e3o mais passos a serem acrescentados dependendo da politica do local em que trabalhamos e da linguagem de programa\u00e7\u00e3o que usamos, conforme a situa\u00e7\u00e3o haver\u00e1 mais burocracia &#8211; no bom sentido.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Detectando vazamento de mem\u00f3ria<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">O maior problema para um desenvolvedor de uma linguagem compilada \u00e9 o vazamento de mem\u00f3ria, ele acontece quando objetos s\u00e3o criados e ap\u00f3s o uso n\u00e3o s\u00e3o destru\u00eddos, geralmente acontecem em rotinas de loop e passam despercebidas. Como consequencia do vazamento, a cada itera\u00e7\u00e3o na mesma parte do programa vai  gradativamente consumindo recursos do computador at\u00e9 num dado momento ocorra um <em>crash<\/em> e ent\u00e3o o usu\u00e1rio pode vir a perder dados. Com frequencia, isso acontece muito com c\u00f3digos de programa\u00e7\u00e3o antigos copiados da Internet onde ou a linguagem mudou ou quem idealizou o exemplo para ser usado se preocupou apenas em resolver o problema principal sem se preocupar muito com tipagem e consumo. C\u00f3digos antigos em Pascal (Delphi ou Lazarus) s\u00e3o um problema porque com o advento do Unicode muita coisa mudou e c\u00f3digos antigos que n\u00e3o levavam o Unicode em considera\u00e7\u00e3o est\u00e3o fadados a ter problemas, incluindo vazamento de mem\u00f3ria.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">(todo)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Todas as variaveis criadas est\u00e3o sendo utilizadas<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">(todo)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">(todo)<\/p>","protected":false},"excerpt":{"rendered":"<p>Quando terminamos um projeto, seja ele em Delphi, Lazarus ou qualquer outra linguagem de programa\u00e7\u00e3o onde compilamos diretamente para m\u00e1quina, precisamos definir uma s\u00e9rie de passos para homologar o programa, mas quais? Eu vou mencionar apenas a parte t\u00e9cnica, precisamos garantir que um programa (1) n\u00e3o tenha vazamentos de mem\u00f3ria, tamb\u00e9m conhecido como memory leak [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"templates\/template-full-width.php","meta":{"footnotes":""},"class_list":["post-1947","page","type-page","status-publish","hentry"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.8 - aioseo.com -->\n\t<meta name=\"description\" content=\"Quando terminamos um projeto, seja ele em Delphi, Lazarus ou qualquer outra linguagem de programa\u00e7\u00e3o onde compilamos diretamente para m\u00e1quina, precisamos definir uma s\u00e9rie de passos para homologar o programa, mas quais? Eu vou mencionar apenas a parte t\u00e9cnica, precisamos garantir que um programa (1) n\u00e3o tenha vazamentos de mem\u00f3ria, tamb\u00e9m conhecido como memory leak\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/gladiston.net.br\/en\/controle-de-qualidade-basica-ao-projeto-final\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.8\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Gladiston Santana - Um site para chamar de meu\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Controle de qualidade b\u00e1sica ao projeto em Lazarus - Gladiston Santana\" \/>\n\t\t<meta property=\"og:description\" content=\"Quando terminamos um projeto, seja ele em Delphi, Lazarus ou qualquer outra linguagem de programa\u00e7\u00e3o onde compilamos diretamente para m\u00e1quina, precisamos definir uma s\u00e9rie de passos para homologar o programa, mas quais? Eu vou mencionar apenas a parte t\u00e9cnica, precisamos garantir que um programa (1) n\u00e3o tenha vazamentos de mem\u00f3ria, tamb\u00e9m conhecido como memory leak\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/gladiston.net.br\/en\/controle-de-qualidade-basica-ao-projeto-final\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2022-08-04T16:56:48+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2022-08-04T21:15:48+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Controle de qualidade b\u00e1sica ao projeto em Lazarus - Gladiston Santana\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Quando terminamos um projeto, seja ele em Delphi, Lazarus ou qualquer outra linguagem de programa\u00e7\u00e3o onde compilamos diretamente para m\u00e1quina, precisamos definir uma s\u00e9rie de passos para homologar o programa, mas quais? Eu vou mencionar apenas a parte t\u00e9cnica, precisamos garantir que um programa (1) n\u00e3o tenha vazamentos de mem\u00f3ria, tamb\u00e9m conhecido como memory leak\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/gladiston.net.br\\\/en\\\/controle-de-qualidade-basica-ao-projeto-final\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/gladiston.net.br\\\/en#listItem\",\"position\":1,\"name\":\"In\\u00edcio\",\"item\":\"https:\\\/\\\/gladiston.net.br\\\/en\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/gladiston.net.br\\\/en\\\/controle-de-qualidade-basica-ao-projeto-final\\\/#listItem\",\"name\":\"Controle de qualidade b\\u00e1sica ao projeto em Lazarus\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/gladiston.net.br\\\/en\\\/controle-de-qualidade-basica-ao-projeto-final\\\/#listItem\",\"position\":2,\"name\":\"Controle de qualidade b\\u00e1sica ao projeto em Lazarus\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/gladiston.net.br\\\/en#listItem\",\"name\":\"In\\u00edcio\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/gladiston.net.br\\\/en\\\/#organization\",\"name\":\"Gladiston Santana\",\"description\":\"Um site para chamar de meu\",\"url\":\"https:\\\/\\\/gladiston.net.br\\\/en\\\/\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/gladiston.net.br\\\/en\\\/controle-de-qualidade-basica-ao-projeto-final\\\/#webpage\",\"url\":\"https:\\\/\\\/gladiston.net.br\\\/en\\\/controle-de-qualidade-basica-ao-projeto-final\\\/\",\"name\":\"Controle de qualidade b\\u00e1sica ao projeto em Lazarus - Gladiston Santana\",\"description\":\"Quando terminamos um projeto, seja ele em Delphi, Lazarus ou qualquer outra linguagem de programa\\u00e7\\u00e3o onde compilamos diretamente para m\\u00e1quina, precisamos definir uma s\\u00e9rie de passos para homologar o programa, mas quais? Eu vou mencionar apenas a parte t\\u00e9cnica, precisamos garantir que um programa (1) n\\u00e3o tenha vazamentos de mem\\u00f3ria, tamb\\u00e9m conhecido como memory leak\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/gladiston.net.br\\\/en\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/gladiston.net.br\\\/en\\\/controle-de-qualidade-basica-ao-projeto-final\\\/#breadcrumblist\"},\"datePublished\":\"2022-08-04T13:56:48-03:00\",\"dateModified\":\"2022-08-04T18:15:48-03:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/gladiston.net.br\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/gladiston.net.br\\\/en\\\/\",\"name\":\"Gladiston Santana\",\"description\":\"Um site para chamar de meu\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/gladiston.net.br\\\/en\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Controle de qualidade b\u00e1sica ao projeto em Lazarus - Gladiston Santana","description":"Quando terminamos um projeto, seja ele em Delphi, Lazarus ou qualquer outra linguagem de programa\u00e7\u00e3o onde compilamos diretamente para m\u00e1quina, precisamos definir uma s\u00e9rie de passos para homologar o programa, mas quais? Eu vou mencionar apenas a parte t\u00e9cnica, precisamos garantir que um programa (1) n\u00e3o tenha vazamentos de mem\u00f3ria, tamb\u00e9m conhecido como memory leak","canonical_url":"https:\/\/gladiston.net.br\/en\/controle-de-qualidade-basica-ao-projeto-final\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BreadcrumbList","@id":"https:\/\/gladiston.net.br\/en\/controle-de-qualidade-basica-ao-projeto-final\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/gladiston.net.br\/en#listItem","position":1,"name":"In\u00edcio","item":"https:\/\/gladiston.net.br\/en","nextItem":{"@type":"ListItem","@id":"https:\/\/gladiston.net.br\/en\/controle-de-qualidade-basica-ao-projeto-final\/#listItem","name":"Controle de qualidade b\u00e1sica ao projeto em Lazarus"}},{"@type":"ListItem","@id":"https:\/\/gladiston.net.br\/en\/controle-de-qualidade-basica-ao-projeto-final\/#listItem","position":2,"name":"Controle de qualidade b\u00e1sica ao projeto em Lazarus","previousItem":{"@type":"ListItem","@id":"https:\/\/gladiston.net.br\/en#listItem","name":"In\u00edcio"}}]},{"@type":"Organization","@id":"https:\/\/gladiston.net.br\/en\/#organization","name":"Gladiston Santana","description":"Um site para chamar de meu","url":"https:\/\/gladiston.net.br\/en\/"},{"@type":"WebPage","@id":"https:\/\/gladiston.net.br\/en\/controle-de-qualidade-basica-ao-projeto-final\/#webpage","url":"https:\/\/gladiston.net.br\/en\/controle-de-qualidade-basica-ao-projeto-final\/","name":"Controle de qualidade b\u00e1sica ao projeto em Lazarus - Gladiston Santana","description":"Quando terminamos um projeto, seja ele em Delphi, Lazarus ou qualquer outra linguagem de programa\u00e7\u00e3o onde compilamos diretamente para m\u00e1quina, precisamos definir uma s\u00e9rie de passos para homologar o programa, mas quais? Eu vou mencionar apenas a parte t\u00e9cnica, precisamos garantir que um programa (1) n\u00e3o tenha vazamentos de mem\u00f3ria, tamb\u00e9m conhecido como memory leak","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/gladiston.net.br\/en\/#website"},"breadcrumb":{"@id":"https:\/\/gladiston.net.br\/en\/controle-de-qualidade-basica-ao-projeto-final\/#breadcrumblist"},"datePublished":"2022-08-04T13:56:48-03:00","dateModified":"2022-08-04T18:15:48-03:00"},{"@type":"WebSite","@id":"https:\/\/gladiston.net.br\/en\/#website","url":"https:\/\/gladiston.net.br\/en\/","name":"Gladiston Santana","description":"Um site para chamar de meu","inLanguage":"en-US","publisher":{"@id":"https:\/\/gladiston.net.br\/en\/#organization"}}]},"og:locale":"en_US","og:site_name":"Gladiston Santana - Um site para chamar de meu","og:type":"article","og:title":"Controle de qualidade b\u00e1sica ao projeto em Lazarus - Gladiston Santana","og:description":"Quando terminamos um projeto, seja ele em Delphi, Lazarus ou qualquer outra linguagem de programa\u00e7\u00e3o onde compilamos diretamente para m\u00e1quina, precisamos definir uma s\u00e9rie de passos para homologar o programa, mas quais? Eu vou mencionar apenas a parte t\u00e9cnica, precisamos garantir que um programa (1) n\u00e3o tenha vazamentos de mem\u00f3ria, tamb\u00e9m conhecido como memory leak","og:url":"https:\/\/gladiston.net.br\/en\/controle-de-qualidade-basica-ao-projeto-final\/","article:published_time":"2022-08-04T16:56:48+00:00","article:modified_time":"2022-08-04T21:15:48+00:00","twitter:card":"summary","twitter:title":"Controle de qualidade b\u00e1sica ao projeto em Lazarus - Gladiston Santana","twitter:description":"Quando terminamos um projeto, seja ele em Delphi, Lazarus ou qualquer outra linguagem de programa\u00e7\u00e3o onde compilamos diretamente para m\u00e1quina, precisamos definir uma s\u00e9rie de passos para homologar o programa, mas quais? Eu vou mencionar apenas a parte t\u00e9cnica, precisamos garantir que um programa (1) n\u00e3o tenha vazamentos de mem\u00f3ria, tamb\u00e9m conhecido como memory leak"},"aioseo_meta_data":{"post_id":"1947","title":null,"description":null,"keywords":[],"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":[],"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":"{\"article\":{\"articleType\":\"BlogPosting\"},\"course\":{\"name\":\"\",\"description\":\"\",\"provider\":\"\"},\"faq\":{\"pages\":[]},\"product\":{\"reviews\":[]},\"recipe\":{\"ingredients\":[],\"instructions\":[],\"keywords\":[]},\"software\":{\"reviews\":[],\"operatingSystems\":[]},\"webPage\":{\"webPageType\":\"WebPage\"},\"blockGraphs\":[]}","pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2022-08-04 16:56:49","updated":"2025-06-04 10:44:10","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/gladiston.net.br\/en\" title=\"In\u00edcio\">In\u00edcio<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tControle de qualidade b\u00e1sica ao projeto em Lazarus\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"In\u00edcio","link":"https:\/\/gladiston.net.br\/en"},{"label":"Controle de qualidade b\u00e1sica ao projeto em Lazarus","link":"https:\/\/gladiston.net.br\/en\/controle-de-qualidade-basica-ao-projeto-final\/"}],"_links":{"self":[{"href":"https:\/\/gladiston.net.br\/en\/wp-json\/wp\/v2\/pages\/1947","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gladiston.net.br\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/gladiston.net.br\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/gladiston.net.br\/en\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/gladiston.net.br\/en\/wp-json\/wp\/v2\/comments?post=1947"}],"version-history":[{"count":5,"href":"https:\/\/gladiston.net.br\/en\/wp-json\/wp\/v2\/pages\/1947\/revisions"}],"predecessor-version":[{"id":1957,"href":"https:\/\/gladiston.net.br\/en\/wp-json\/wp\/v2\/pages\/1947\/revisions\/1957"}],"wp:attachment":[{"href":"https:\/\/gladiston.net.br\/en\/wp-json\/wp\/v2\/media?parent=1947"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}