Desenvolvimento LAMPS
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Ir para baixo
avatar
Heric
Admin
Mensagens : 59
Data de inscrição : 14/09/2018
Idade : 50
https://lampsdev.forumeiros.com

Padronizações codificação C# Empty 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.
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos