<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pt-BR">
	<id>http://wiki.biserp.com.br/index.php?action=history&amp;feed=atom&amp;title=Formata%C3%A7%C3%A3o_e_Escrita_de_C%C3%B3digo</id>
	<title>Formatação e Escrita de Código - Histórico de revisão</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.biserp.com.br/index.php?action=history&amp;feed=atom&amp;title=Formata%C3%A7%C3%A3o_e_Escrita_de_C%C3%B3digo"/>
	<link rel="alternate" type="text/html" href="http://wiki.biserp.com.br/index.php?title=Formata%C3%A7%C3%A3o_e_Escrita_de_C%C3%B3digo&amp;action=history"/>
	<updated>2026-04-08T20:31:33Z</updated>
	<subtitle>Histórico de revisões para esta página neste wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>http://wiki.biserp.com.br/index.php?title=Formata%C3%A7%C3%A3o_e_Escrita_de_C%C3%B3digo&amp;diff=652&amp;oldid=prev</id>
		<title>Rodrigogml: /* Nomes dos Objetos */</title>
		<link rel="alternate" type="text/html" href="http://wiki.biserp.com.br/index.php?title=Formata%C3%A7%C3%A3o_e_Escrita_de_C%C3%B3digo&amp;diff=652&amp;oldid=prev"/>
		<updated>2016-01-27T19:37:47Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Nomes dos Objetos&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;pt-BR&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Edição anterior&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Edição das 19h37min de 27 de janeiro de 2016&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l33&quot;&gt;Linha 33:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linha 33:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==== Sufixos da Camada de Negócio (CRUD) ====&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==== Sufixos da Camada de Negócio (CRUD) ====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;lt;b&amp;gt;Task:&amp;lt;/b&amp;gt; O sufixo Task é dado para as tarefas do BISCore. Tarefas são classes de delegação de função que permitem serem disparadas por outros serviços, como o BISWorkflow ou o BISScheduler. Leia mais no tópico [[BISTask]].&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;lt;b&amp;gt;Task:&amp;lt;/b&amp;gt; O sufixo Task é dado para as tarefas do BISCore. Tarefas são classes de delegação de função que permitem serem disparadas por outros serviços, como o BISWorkflow ou o BISScheduler. Leia mais no tópico [[BISTask]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;==== Sufixos das Classes de Relatórios ====&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &amp;lt;b&amp;gt;Bean:&amp;lt;/b&amp;gt; Termina com Bean a classe que representa um dado retornado pelo relatório. Essa classe é usada no lugar do VO quando o objeto não é &quot;persistível&quot;, por exemplo, quando o dado retornado é uma coleção de dados manipulados, somatórias, resumos ou mistura de informações de vários objetos que não permite que o próprio VO seja retornado. Neste caso um Bean é retornado, e tem a mesma estrutura que um VO (atributos e métodos Get e Set).&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &amp;lt;b&amp;gt;OptionBean:&amp;lt;/b&amp;gt; Objeto usado para acumular diversas propriedades de opções e substituir uma coleção enorme de parâmetros nos métodos. Apresenta uma estrutura de Bean, e permite que seja o único parâmetro a ser passado para um determinado método, sendo anexável mais atributos dentro do mesmo objeto com facilidade no futuro.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** &amp;lt;b&amp;gt;ReportOptionBean: &amp;lt;/b&amp;gt; Exatamente o objeto acima, mas quando usado para a geração de relatórios &quot;impressos&quot; (PDFs), cujas classes geradoras levam o prefixo &quot;Report&quot;, acabam herdando ambos os prefixos &quot;Report&quot; + &quot;OptionBean&quot;.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Métodos e Funções ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Métodos e Funções ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Rodrigogml</name></author>
	</entry>
	<entry>
		<id>http://wiki.biserp.com.br/index.php?title=Formata%C3%A7%C3%A3o_e_Escrita_de_C%C3%B3digo&amp;diff=605&amp;oldid=prev</id>
		<title>Rodrigogml em 18h13min de 7 de setembro de 2015</title>
		<link rel="alternate" type="text/html" href="http://wiki.biserp.com.br/index.php?title=Formata%C3%A7%C3%A3o_e_Escrita_de_C%C3%B3digo&amp;diff=605&amp;oldid=prev"/>
		<updated>2015-09-07T18:13:20Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;pt-BR&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Edição anterior&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Edição das 18h13min de 7 de setembro de 2015&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l29&quot;&gt;Linha 29:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linha 29:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==== Sufixos da Camada de Persistência ====&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==== Sufixos da Camada de Persistência ====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &amp;lt;b&amp;gt;MO:&amp;lt;/b&amp;gt; O sufixo MO é dado aos objetos do tipo [[MatchObject]]. Estes objetos são utilizados pela camada de persistência para encontra VOs que foram persistidos. Por exemplo, um objeto usado para encontrar um ou mais contatos, se o VO foi batizado de ContactVO, seu MO deve ser batizado de ContactMO.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;lt;b&amp;gt;DAO:&amp;lt;/b&amp;gt; O sufixo DAO representa Data Access Object e é dado aos objetos que fazem a persistência dos objetos. No padrão do &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;BISFrameWork&lt;/ins&gt;, DAO &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;só precisa &lt;/ins&gt;ser &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;criado em casos bem específicos &lt;/ins&gt;para &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;performance&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Leia &lt;/ins&gt;no tópico da [[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;BISDAO&lt;/ins&gt;]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;lt;b&amp;gt;DAO:&amp;lt;/b&amp;gt; O sufixo DAO representa Data Access Object e é dado aos objetos que fazem a persistência dos objetos. No padrão do &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;BISCore&lt;/del&gt;, DAO &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;é sempre uma interface que encapsula os verdadeiros DAOs através do pattern de Factory. Por exemplo: a interface que define a implementação do DAO para o objeto ContactVO deve &lt;/del&gt;ser &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;batizada de ContactDAO. Para maiores informações sobre esse objeto leia no tópico da [[Persistência]].&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &amp;lt;b&amp;gt;EJB3DAO:&amp;lt;/b&amp;gt; Este sufixo é dado aos objetos que implementam o DAO e que utilizam o sistema de EJB3 + Hibernate oferecido pelo BISCore. Por exemplo: a implementação de EJB3, que implemente a interface ContactDAO deve ser batizada de ContactEJB3DAO. Para maiores informações sobre esse objeto leia no tópico da [[Persistência]].&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &amp;lt;b&amp;gt;DAOFactory:&amp;lt;/b&amp;gt; O sufixo DAOFactory é dado &lt;/del&gt;para &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;as classes de Factory de DAOs dos módulos. É recomendado que só se tenha um Factory por módulo, embora não seja obrigatório, por isso recomenda-se que as classes devem ter o nome do módulo no começo. Por exemplo, para o objeto ContactVO, se ele faz parte de um módulo chamado &quot;Person&quot;, a classe de Factory deve ser batizada de &quot;PersonDAOFactory&quot;. Cada método desta classe retornará o DAO de um objeto deste módulo&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Para maiores informações sobre esse objeto leia &lt;/del&gt;no tópico da [[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Persistência&lt;/del&gt;]].&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==== Sufixos da Camada de Negócio (CRUD) ====&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==== Sufixos da Camada de Negócio (CRUD) ====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Rodrigogml</name></author>
	</entry>
	<entry>
		<id>http://wiki.biserp.com.br/index.php?title=Formata%C3%A7%C3%A3o_e_Escrita_de_C%C3%B3digo&amp;diff=91&amp;oldid=prev</id>
		<title>Rodrigogml em 16h11min de 24 de março de 2015</title>
		<link rel="alternate" type="text/html" href="http://wiki.biserp.com.br/index.php?title=Formata%C3%A7%C3%A3o_e_Escrita_de_C%C3%B3digo&amp;diff=91&amp;oldid=prev"/>
		<updated>2015-03-24T16:11:05Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;pt-BR&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Edição anterior&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Edição das 16h11min de 24 de março de 2015&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l6&quot;&gt;Linha 6:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linha 6:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Para o Java existe uma convenção de linguagem oficial ([[http://www.oracle.com/technetwork/java/codeconvtoc-136057.html|Code Conventions for the Java TM Programming Language]]), o BISCore recomenda sua leitura e que suas convenções sejam seguidas. Escrever o código como o &amp;quot;mundo&amp;quot; já o faz, facilitará inclusive a ao ler códigos de outros desenvolvedores que já seguem o padrão.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Para o Java existe uma convenção de linguagem oficial ([[http://www.oracle.com/technetwork/java/codeconvtoc-136057.html|Code Conventions for the Java TM Programming Language]]), o BISCore recomenda sua leitura e que suas convenções sejam seguidas. Escrever o código como o &amp;quot;mundo&amp;quot; já o faz, facilitará inclusive a ao ler códigos de outros desenvolvedores que já seguem o padrão.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{nota|Formatação de Código Fonte|A formação do código fonte pode ser configurada em muitas IDEs. O BISCore já disponibiliza essas configurações em um arquivo para ser carregado no Eclipse. Como configura-lo pode ser encontrado no tópico de [[Ambiente_de_Produção_e_Desenvolvimento#Configurando_o_Eclipse_para_Formatar_o_C.C3.B3digo|Configuração do Ambiente de Desenvolvimento]].}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{nota|Formatação de Código Fonte|A formação do código fonte pode ser configurada em muitas IDEs. O BISCore já disponibiliza essas configurações em um arquivo para ser carregado no Eclipse. Como configura-lo pode ser encontrado no tópico de [[Ambiente_de_Produção_e_Desenvolvimento#Configurando_o_Eclipse_para_Formatar_o_C.C3.B3digo|Configuração do Ambiente de Desenvolvimento]].}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{stop|SVN e Formatação de Código|A utilização de uma formatação do código diferente entre os desenvolvedores poderá fazer com que o SVN não interprete corretamente as diferenças das alterações, fazendo com que qualquer commit seja uma alteração de arquivo completo. Isso impede o rastreamento de alterações de cada usuário e causa um uso desnecessário de espaço no servidor SVN.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{stop|SVN e Formatação de Código|A utilização de uma formatação do código diferente entre os desenvolvedores poderá fazer com que o SVN não interprete corretamente as diferenças das alterações, fazendo com que qualquer commit seja uma alteração de arquivo completo. Isso impede o rastreamento de alterações de cada usuário e causa um uso desnecessário de espaço no servidor SVN.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Convenções de Nome do BIS ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Convenções de Nome do BIS ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l26&quot;&gt;Linha 26:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linha 29:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==== Sufixos da Camada de Persistência ====&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==== Sufixos da Camada de Persistência ====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;lt;b&amp;gt;MO:&amp;lt;/b&amp;gt; O sufixo MO é dado aos objetos do tipo [[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Match Object&lt;/del&gt;]]. Estes objetos são utilizados pela camada de persistência para encontra VOs que foram persistidos. Por exemplo, um objeto usado para encontrar um ou mais contatos, se o VO foi batizado de ContactVO, seu MO deve ser batizado de ContactMO.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;lt;b&amp;gt;MO:&amp;lt;/b&amp;gt; O sufixo MO é dado aos objetos do tipo [[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;MatchObject&lt;/ins&gt;]]. Estes objetos são utilizados pela camada de persistência para encontra VOs que foram persistidos. Por exemplo, um objeto usado para encontrar um ou mais contatos, se o VO foi batizado de ContactVO, seu MO deve ser batizado de ContactMO.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;lt;b&amp;gt;DAO:&amp;lt;/b&amp;gt; O sufixo DAO representa Data Access Object e é dado aos objetos que fazem a persistência dos objetos. No padrão do BISCore, DAO é sempre uma interface que encapsula os verdadeiros DAOs através do pattern de Factory. Por exemplo: a interface que define a implementação do DAO para o objeto ContactVO deve ser batizada de ContactDAO. Para maiores informações sobre esse objeto leia no tópico da [[Persistência]].&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;lt;b&amp;gt;DAO:&amp;lt;/b&amp;gt; O sufixo DAO representa Data Access Object e é dado aos objetos que fazem a persistência dos objetos. No padrão do BISCore, DAO é sempre uma interface que encapsula os verdadeiros DAOs através do pattern de Factory. Por exemplo: a interface que define a implementação do DAO para o objeto ContactVO deve ser batizada de ContactDAO. Para maiores informações sobre esse objeto leia no tópico da [[Persistência]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Rodrigogml</name></author>
	</entry>
	<entry>
		<id>http://wiki.biserp.com.br/index.php?title=Formata%C3%A7%C3%A3o_e_Escrita_de_C%C3%B3digo&amp;diff=29&amp;oldid=prev</id>
		<title>Rodrigogml: Criou página com &#039;O BIS utiliza alguns padrões de escrita do código para facilitar o desenvolvimento em equipe. Algumas são recomendadas pelo própria comunidade Java, outras foram criadas p...&#039;</title>
		<link rel="alternate" type="text/html" href="http://wiki.biserp.com.br/index.php?title=Formata%C3%A7%C3%A3o_e_Escrita_de_C%C3%B3digo&amp;diff=29&amp;oldid=prev"/>
		<updated>2015-03-19T20:09:19Z</updated>

		<summary type="html">&lt;p&gt;Criou página com &amp;#039;O BIS utiliza alguns padrões de escrita do código para facilitar o desenvolvimento em equipe. Algumas são recomendadas pelo própria comunidade Java, outras foram criadas p...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nova&lt;/b&gt;&lt;/p&gt;&lt;div&gt;O BIS utiliza alguns padrões de escrita do código para facilitar o desenvolvimento em equipe. Algumas são recomendadas pelo própria comunidade Java, outras foram criadas para o projeto. Algumas das vantagens desse método são:&lt;br /&gt;
&lt;br /&gt;
* fácil manutenção de código fonte escrita por outro desenvolvedor ou pelo mesmo, já que com o passar do tempo todo desenvolvedor acaba alterando seu estilo de código.&lt;br /&gt;
* evita erros de interpretação com os nomes dos métodos, chamando um método que se &amp;quot;achava&amp;quot; que faria uma coisa devido ao seu nome enquanto acaba fazendo outra.&lt;br /&gt;
* facilita a verificação dos métodos já existentes. Em um sistema muito extenso e feito ao longo de anos e por mais de um desenvolvedor, é comum que não se conheça ou não se lembre dos métodos e funções já existentes. Nomes fora de padrão permitiriam que métodos possam ser duplicados, ou seja, mesma função em métodos distintos. Atrapalhando a manutenção que teria de ser realizada em diversos pontos, o que permitiria deixar algum &amp;quot;esquecido&amp;quot; e tendo um funcionamento errado.&lt;br /&gt;
&lt;br /&gt;
Para o Java existe uma convenção de linguagem oficial ([[http://www.oracle.com/technetwork/java/codeconvtoc-136057.html|Code Conventions for the Java TM Programming Language]]), o BISCore recomenda sua leitura e que suas convenções sejam seguidas. Escrever o código como o &amp;quot;mundo&amp;quot; já o faz, facilitará inclusive a ao ler códigos de outros desenvolvedores que já seguem o padrão.&lt;br /&gt;
&lt;br /&gt;
{{nota|Formatação de Código Fonte|A formação do código fonte pode ser configurada em muitas IDEs. O BISCore já disponibiliza essas configurações em um arquivo para ser carregado no Eclipse. Como configura-lo pode ser encontrado no tópico de [[Ambiente_de_Produção_e_Desenvolvimento#Configurando_o_Eclipse_para_Formatar_o_C.C3.B3digo|Configuração do Ambiente de Desenvolvimento]].}}&lt;br /&gt;
&lt;br /&gt;
{{stop|SVN e Formatação de Código|A utilização de uma formatação do código diferente entre os desenvolvedores poderá fazer com que o SVN não interprete corretamente as diferenças das alterações, fazendo com que qualquer commit seja uma alteração de arquivo completo. Isso impede o rastreamento de alterações de cada usuário e causa um uso desnecessário de espaço no servidor SVN.}}&lt;br /&gt;
&lt;br /&gt;
== Convenções de Nome do BIS ==&lt;br /&gt;
Adicionalmente o BIS tem suas próprias convenções, as convenções previstas no BIS são mais específicas para o propósito do framework e não conflitem com as definidas pelo próprio Java.&lt;br /&gt;
&lt;br /&gt;
=== Nomes dos Objetos ===&lt;br /&gt;
&lt;br /&gt;
==== Sufixos de Objetos Gerais da Aplicação ====&lt;br /&gt;
* &amp;lt;b&amp;gt;VO:&amp;lt;/b&amp;gt; O sufixo VO é dado aos objetos que representam um determinado objeto/informação. Por exemplo, um objeto que carregue os dados de um contato (como nome, endereço, telefone, RG, etc.) se for batizado de Contact, deve levar o prefixo VO, deixando o nome do objeto como ContactVO.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Facade:&amp;lt;/b&amp;gt; O sufixo Facade é dado para as classes de Fachada dos módulos. Essas fachadas são usadas para permitir a comunicação de outras camadas com o core do módulo. Normalmente é recomendada apenas uma única fachada por módulo. Mas não é uma regra. Dependendo do módulo o desenvolvedor pode desejar ou precisar ter mais de uma fachada. Lembre-se apenas que quando mais fachadas tiver, mais lookups outros módulos tem de fazer para conseguir chamar diferentes métodos.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;CorePlugin:&amp;lt;/b&amp;gt; Sufixo usado nas classes que implementam um CorePlugin. Esta classe é utilizada para que o BISCore possa interpretar e se comunicar com o módulo.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;PluginDefinitions:&amp;lt;/b&amp;gt; Quando centralizamos as definições do módulo em uma classe separada da classe que implementa as interfaces/adapters que definem o plugin (core, presentation ou integration) damos esse sufixo para facilitar encontra-la quando precisamos atualizar suas definições, como por exemplo a versão.&lt;br /&gt;
&lt;br /&gt;
==== Sufixos da Camada de Persistência ====&lt;br /&gt;
* &amp;lt;b&amp;gt;MO:&amp;lt;/b&amp;gt; O sufixo MO é dado aos objetos do tipo [[Match Object]]. Estes objetos são utilizados pela camada de persistência para encontra VOs que foram persistidos. Por exemplo, um objeto usado para encontrar um ou mais contatos, se o VO foi batizado de ContactVO, seu MO deve ser batizado de ContactMO.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;DAO:&amp;lt;/b&amp;gt; O sufixo DAO representa Data Access Object e é dado aos objetos que fazem a persistência dos objetos. No padrão do BISCore, DAO é sempre uma interface que encapsula os verdadeiros DAOs através do pattern de Factory. Por exemplo: a interface que define a implementação do DAO para o objeto ContactVO deve ser batizada de ContactDAO. Para maiores informações sobre esse objeto leia no tópico da [[Persistência]].&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;EJB3DAO:&amp;lt;/b&amp;gt; Este sufixo é dado aos objetos que implementam o DAO e que utilizam o sistema de EJB3 + Hibernate oferecido pelo BISCore. Por exemplo: a implementação de EJB3, que implemente a interface ContactDAO deve ser batizada de ContactEJB3DAO. Para maiores informações sobre esse objeto leia no tópico da [[Persistência]].&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;DAOFactory:&amp;lt;/b&amp;gt; O sufixo DAOFactory é dado para as classes de Factory de DAOs dos módulos. É recomendado que só se tenha um Factory por módulo, embora não seja obrigatório, por isso recomenda-se que as classes devem ter o nome do módulo no começo. Por exemplo, para o objeto ContactVO, se ele faz parte de um módulo chamado &amp;quot;Person&amp;quot;, a classe de Factory deve ser batizada de &amp;quot;PersonDAOFactory&amp;quot;. Cada método desta classe retornará o DAO de um objeto deste módulo. Para maiores informações sobre esse objeto leia no tópico da [[Persistência]].&lt;br /&gt;
&lt;br /&gt;
==== Sufixos da Camada de Negócio (CRUD) ====&lt;br /&gt;
* &amp;lt;b&amp;gt;Task:&amp;lt;/b&amp;gt; O sufixo Task é dado para as tarefas do BISCore. Tarefas são classes de delegação de função que permitem serem disparadas por outros serviços, como o BISWorkflow ou o BISScheduler. Leia mais no tópico [[BISTask]].&lt;br /&gt;
&lt;br /&gt;
=== Métodos e Funções ===&lt;br /&gt;
Alguns métodos muito usados já tem um prefixo definido, verifica abaixo a lista dos prefixos dos métodos o que se espera que um método com esse prefixo faça.&lt;br /&gt;
&lt;br /&gt;
{{nota|Prefixos &amp;amp; Sufixos|Alguns métodos também tem sufixos definidos, isso significa que para cada sufixo um método tem alguma variação no seu funcionamento.}}&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;find:&amp;lt;/b&amp;gt; Os métodos de find são específicos para procurar/buscar algum objeto. Geralmente vindo do banco de dados.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;update:&amp;lt;/b&amp;gt; Atualiza um objeto. Este método manipula algum objeto para deixa-lo atualizado. Por exemplo, um método que recebe um VO e o atualiza no banco de dados, ou um método chamado quando ocorre algum evento (Ex: seleção de item pelo usuário) e precisa atualizar alguma informação (Ex: Habilitar/Desabilitar um botão. Note que este método não trata o disparo do evento, mas sim realizar alguma tarefa de atualização de objeto. Para tratar eventos verifique o prefixo &amp;#039;changed&amp;#039;.&lt;br /&gt;
	&lt;br /&gt;
* &amp;lt;b&amp;gt;change:&amp;lt;/b&amp;gt; São métodos de update mais diretos, servem principalmente para atualizar apenas algum atributo do objeto no banco de dados, sem ter que passar ele todo para o core. Assim este método recebe somente um identificador e o novo valor a ser definido no objeto. A ideia por trás deste tipo de método é evitar que o objeto seja todo carregado, e na atualização seja todo re validado perdendo em performance.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;insert:&amp;lt;/b&amp;gt; Métodos chamados para inserir um objeto em algum contexto. Como por exemplo inserir um novo VO no banco de dados.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;process:&amp;lt;/b&amp;gt; Métodos que recebem um objeto e fazem algum processamento ou a partir deles. Costumam retornar o objeto manipulado embora não seja obrigatório, principalmente quando o processamento manipula mais de um método por vez.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;changed:&amp;lt;/b&amp;gt; Como a maior parte dos eventos de apresentação são tratados em anonymous inner classes para evitar a codificação de uma classe só para tratar um evento pequeno, ou desde o Java 8 por expressões Lambda, dentro deste listener colocamos apenas a chamada para um método na classe principal, este método terá o prefixo &amp;#039;changed&amp;#039;. Exemplo, imagine o um ComboBox chamado &amp;#039;sector&amp;#039;, ao se alterar o valor deste combo chamaremos o método &amp;#039;changedSectorValue()&amp;#039;. E dentro deste método implementamos o que for necessário.&lt;/div&gt;</summary>
		<author><name>Rodrigogml</name></author>
	</entry>
</feed>