Conhece a POG? Tenho certeza que sim!

Para o desenvolvedores, a primeira impressão diante da definição da POG é uma bela gargalhada. Nada melhor do que a própria definição:


Definição de POG

A Programação Orientada a Gambiarras (POG ou WOP – Workaround-oriented programming) é um paradigma de programação de sistemas de software que integra-se perfeitamente a qualquer grande Paradigma de Programação atual.

A Programação Orientada a Gambiarras foi uma evolução natural do uso do Programa Bacalhau, também conhecido como ATND – Artifício Técnico Não Documentado, dos anos 1.960–80, e vem de uma antiga expressão brasileira, “Para quem é, bacalhau basta” (época em que o peixe seco ainda era barato). Programadores e analistas mais preocupados em usar buzzwords costumam utilizar o termo workaround para impor respeito.

O pessoal da equipe de desenvolvimento com que trabalho não conseguiu resistir nem à primeira definição.


Mas venhamos e convenhamos, o motivo de tanta risada não foi só o texto bem elaborado, mas o sim o fato de muitas dessas definições refletirem muitas verdades que vivemos no dia a dia. Alguma delas são no mínimo fundamentais:


Nonsense Flag

Por um legítimo impulso gambiarrizador solucionador de problemas, o desenvolvedor salpica um monte de variáveis com nomes sensacionais como “newCounter2“, “jaTrocouDeAba“, “passouPorAqui“, “numeroMagico“, “naoAchou” e etc.

Mega Zord

Programadores dos anos 80 o conhecem como Daileon. Semelhante ao padrão Lone Wolf. Motivo: criar várias funções, cada uma executando um passo de um algoritimo, causam lentidão no sistema por este ter que interromper seu fluxo para chamá-las. Esse problema pode ser resolvido com uma única e gigante guerreira função, que recebe vários parâmetros que definirão o que esta deverá fazer. Geralmente usado em conjunto com Nonsense Flag.

Exemplo(Atenção! A quebra de linhas foi usada aqui apenas para melhor entendimento! Evite essa prática! Escreva os parâmetros todos em uma única linha para não comprometer a eficiência do código!!!):

//Processa
public static Object processar(String file, int dados, char variavel, Object status, int linhas,
String query, String usuario, string senha, String banco,
String host, int dia, int mes, int ano, Object entrada,
Object saida)
throws Exception {
//Aí é aquilo, mermão…


return processado;
}

Esse padrão também pode ser usado com SQL. SELECTs aninhados devem ser evitados pois diminui a eficiência, foda-se se ninguém entender que merda aquilo faz.


Simplesmente fantástico! Você programador, se sentir-se tão familiarizado quanto eu fiquei, bem vindo ao clube!

Abraços

Tomás

Fonte: http://desciclo.pedia.ws/wiki/POG

Importando dados do SQL Server para o Excel com VBA e ADO

Essa é uma pergunta que aparece quase sempre nos fóruns de Excel que frequento. O bom é que a própria Microsoft dá a resposta:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Sub RetrieveSQLServerData()
' Cria a conexão.
    Dim cnPubs As ADODB.Connection
    Set cnPubs = New ADODB.Connection    ' Variável para armazenar a String de Conexão.
    Dim strConn As String
 
    'Informa o SQL Server OLE DB Provider.
    strConn = "PROVIDER=SQLOLEDB;"
 
    'Conecta à base de dados Pubs no servidor local.
    strConn = strConn & "DATA SOURCE=(local);INITIAL CATALOG=pubs;"
 
    'Usa autenticação integrada.
    strConn = strConn & " INTEGRATED SECURITY=sspi;"
 
    'Abre a conexão.
    cnPubs.Open strConn
 
    ' Cria o objeto Recordset.
    Dim rsPubs As ADODB.Recordset
    Set rsPubs = New ADODB.Recordset
 
    With rsPubs
        ' Associa a conexão.
        .ActiveConnection = cnPubs
        ' Extrai os dados.
        .Open "SELECT * FROM Authors"
        ' Coloca os dados na planilha.
        Plan1.Range("A1").CopyFromRecordset rsPubs
 
        ' Fecha a transação
        .Close
    End With
 
    ' Fecha conexão
    cnPubs.Close
    Set rsPubs = Nothing
    Set cnPubs = Nothing
 
End Sub

Como importar dados de Microsoft SQL Server em Microsoft Excel

Apenas para constar, segue o código fonte pronto para usar:Bom proveito!

Tomás Vásquez

Exportando dados do Microsoft Outlook fácil, fácil

Uma maneira fácil de fazer a exportação de dados do Outlook para uma base de dados é usar o próprio assistente de exportação do aplicativo.

Muitas vezes nos enrolamos tentando fazer consultas diretas ao arquivo .pst sem atentar a este simples recurso. Para efetuar a exportação, basta ir ao menu Arquivo->Importar e exportar…, selecionar a opção “Exportar para um arquivo”, selecionar o tipo de arquivo ou base de dados em que os dados ficarão (para facilitar neste caso, selecione Microsoft Excel), selecionar a pasta a ser exportada (sim, terá que ser uma por vez)e em seguida informar o nome de arquivo. Há uma opção para manipular campos personalizados, mas não é o caso, então, basta confirmar a ação.

Após a exportação, basta conferir o formato em que os dados foram exportados. Praticamente todas as informações relevantes estão lá, e podem ser manipuladas a vontade.

Um recurso bacana e muito simples de ser utilizado.

Até a próxima!

Tomás Vásquez

Visual Studio 2005 – Extendendo o DataGridView Windows Forms

É, às vezes a Microsoft se esquece de algumas coisas, mas tenta consertar logo depois, seja por meio de patches ou através de exemplos postados em seu Knowledge Base.

Um desses esquecimentos, pelo menos que vivenciei, foi a falta do controle DateTimePicker para o .NET Compact Framework, quando me envolvi em um projeto para Pocket PCs. Apesar do controle não existir na ToolBox do Visual Studio .NET, a Microsoft o disponibiliza no site MSDN com código fonte e tudo mais. O link para o código nesta data é:
http://www.microsoft.com/downloads/details.aspx?FamilyID=11e2aa23-a6d3-441b-b622-b3a4d7695f44&DisplayLang=en

Não ter o controle pode dar um ar de imcompleteza à ferramenta, mas pensando pelo lado bom, talvez a real intenção seja mostrar o que é possível fazer com a esta. Venhamos e convenhamos, que programador se daria ao trabalho de construir do zero um DateTimePicker com todas as suas características? Acho que vale a observação.

Completando o assunto, acho que a Microsoft decidiu fazer o mesmo com o DateTimePicker para o controle DataGridView Windows Forms no Visual Studio 2005. Ele não é nativo, mas é possível adicioná-lo na nossa solução com o código também disponibilizado pela Microsoft:
http://msdn2.microsoft.com/en-us/library/7tas5c80(vs.80).aspx

Além de simplesmente embuti-lo no projeto, vale as pena uma bela olhada no código fonte.

Abraços

Tomás Vásquez

Tecnologia e Programação