Padronizações codificação C#
Ter Out 08, 2019 7:41 am
- Identação de códigos no Visual Studio, pressionar [Ctrl] + K + D.
- Manter linhas comentadas apenas da última alteração.
- Comentários de métodos com '///' exemplo:
- Código:
/// <summary>
/// Método para montar a url para lista de exames laboratoriais.
/// </summary>
/// <param name="Prontuario">Recebe o prontuário do paciente.</param>
/// <returns>string com a url.</returns>
/// 09/10/2019 09:43 - Heric
public static string MontarUrlLabListaExames(long Prontuario)
- Formatação das querys seguindo padrão do 'Poor SQL', ou seja, após a escrita da query, cola na tab 'Input SQL' e copia da aba 'Formatted' exemplo:
- Código:
SELECT [Contas a pagar].[codigo do documento]
,[Contas a pagar].[numero nota fiscal]
,MIN(CASE
WHEN Aberto = 'F' THEN 'F'
WHEN Aberto = 'A' THEN 'A'
ELSE 'A'
END) AS Aberto
FROM [Contas a pagar]
INNER JOIN [Fornecedor]
ON [Fornecedor].[Codigo_do_fornecedor] = [Contas a pagar].[Codigo_do_fornecedor]
AND [Fornecedor].[Codigo_do_fornecedor] = [Contas a pagar].[Codigo_do_fornecedor]
WHERE [Contas a pagar].[codigo do documento] < 10
- Na escrita de código no visual studio, atalho para 'Try', digitar try e 2x o [Tab].
- Em escrita de códigos no visual studio:
- Código:
protected void Teste()
{
DataAccessObject DaoWeb = Vision.GetDao("GeralWeb");
DataAccessObject DaoContratos = Vision.GetDao("DB_Contratos");
try
{
// Tratamos de caso de retorno em tabela.
StringBuilder sb = new StringBuilder();
sb.Append(@"
SELECT [Contas a pagar].[codigo do documento]
,[Contas a pagar].[numero nota fiscal]
,MIN(CASE
WHEN Aberto = 'F' THEN 'F'
WHEN Aberto = 'A' THEN 'A'
ELSE 'A'
END) AS Aberto");
// Comentário de pra que serve o próximo trecho.
sb.Append(@"
FROM [Contas a pagar]
INNER JOIN [Fornecedor]
ON [Fornecedor].[Codigo_do_fornecedor] = [Contas a pagar].[Codigo_do_fornecedor]
AND [Fornecedor].[Codigo_do_fornecedor] = [Contas a pagar].[Codigo_do_fornecedor]
");
sb.AppendFormat("WHERE[Contas a pagar].[codigo do documento] < {0}", 10);
DataTable dataTable = Dao.RunSql(sb.ToString()).Tables[0];
if (dataTable.Rows.Count == 0)
{
throw new Exception("Não existem registros retornados.");
}
foreach (DataRow row in dataTable.Rows)
{
DateTime dateTime = (DateTime)row["Data_atualiza"];
}
dataTable.Clear();
dataTable.Dispose();
// Caso o retorno seja somente em uma única linha.
DataRow dataRow = Dao.RunSql(sb.ToString()).Tables[0].Rows[0];
// Caso queira receber somente um campo de uma linha.
try
{
string a = Dao.ExecuteScalar(sb.ToString()).ToString();
}
catch (Exception)
{
throw new Exception("Sem retorno da consulta.");
}
// Se for uma execução sem retorno de dados, tipo insert, update ou delete.
int b = Dao.ExecuteNonQuery(sb.ToString());
if (b == 0)
{
throw new Exception("Nenhum registro alterado.");
}
}
catch (Exception)
{
throw;
}
finally
{
DaoWeb.Dispose();
DaoContratos.Dispose();
}
}
- Tempo de resposta de abertura de tela no máximo 5 segundos.
- Consultas ao banco com tempo máximo de 3 segundos.
Permissões neste sub-fórum
Não podes responder a tópicos