Pesquisar aqui

sábado, 30 de março de 2019

A Amazon lançará milhares de satélites para fornecer internet ao redor do mundo

Este projecto da empresa norte-americana de comércio online, baptizado de Kuiper, foi mencionado pela primeira vez pelo sítio especializado em notícias de tecnologia GeekWire, referindo-se a documentos depositados junto de agências de regulação norte-americanas, nos quais é detalhado o projecto, orçado em vários milhares de milhões de dólares.

A Amazon planeia lançar uma rede de 3.236 satélites na órbita baixa da Terra, a fim de fornecer internet para “comunidades não atendidas e carentes em todo o mundo”. 

Este projecto da empresa norte-americana de comércio online, baptizado de Kuiper, foi mencionado pela primeira vez pelo sítio especializado em notícias de tecnologia GeekWire, referindo-se a documentos depositados junto de agências de regulação norte-americanas, nos quais é detalhado o projecto, orçado em vários milhares de milhões de dólares.

A Amazon confirmou que a Kuiper Systems é um de seus projetos. A Amazon é a mais recente de uma série de empresas com planos de usar uma rede de milhares de satélites para oferecer banda larga em todo o mundo. Ao contrário da Internet via satélite tradicional, esses planos envolvem o uso de satélites em órbita baixa da Terra, que podem ser operados de forma barata e com latências mais baixas. A SpaceX também planeia lançar até 12.000 satélites como parte de sua constelação Starlink, a OneWeb quer lançar 650 satélites e o Facebook também está a desenvolver um satélite de internet próprio.


Consultei o site GeekWire e Público no dia 03/04/2019.

sexta-feira, 29 de março de 2019

8 tipos de formulário

Existem inúmeros usos para um formulário online e muitas vezes preenchemos um formulário sem nos darmos por isso, por esta razão muita gente cria um formulário pelo menos uma vez na vida seja por razões profissionais, na sua vida escolar ou pessoal.

Esta é uma lista de 8 tipos de formulário, como podes ver muitas preenches formulários todos os dias e provavelmente não o sabias!
  • Inscrição em Newsletter - um pequeno formulário com um espaço para inserir o e-mail para nos inscrevermos numa newsletter é uma forma muito comum de formulário.
  • Formulários de contacto - muitas lojas online, por exemplo, têm um destes na página "Contacto" para que o visitante escreva uma mensagem aos autores do site.
  • Inscrição em Eventos - uma utilização não tanto comum mas importante é a inscrição online em eventos.
  • Feedback - este é outro tipo de formulário bastante comum, seja um inquérito de satisfação de compras ou de feedback da visita de um site, por exemplo.
  • Criação de conta (Signup) - este é um tipo de formulário que muitas vezes preenchermos sem sequer notarmos que estamos a preencher um formulário. É bastante comum em redes sociais e fórums.
  • Registo em concursos - muitos sites de eCommerce fazem sorteios e de forma a inscrever-se no sorteio o utilizador tem de preencher um formulário com campos como o e-mail, o nome ou o número de telemóvel.
  • Pagamentos online - de forma a pagar por serviços ou compras online o utilizador tem de preencher um formulário com as suas informações (nome, morada, detalhes do método de pagamento, etc.)
  • Doações - outro tipo de formulário existente online é o de doações. Quando um utilizador quer doar dinheiro para uma causa tem, de forma semelhante a quando faz uma compra, preencher um formulário.


Consultei o site marketinginsidergroup.com no dia 29/03/2019

quinta-feira, 28 de março de 2019

Novo programa de TV com tema "Sesame Street" da Apple ensinará noções básicas de programação a crianças

apple tv sesame street


O programa de TV original “Rua Sésamo” ensinava noções básicas para crianças, como números e letras, mas o novo programa temático da Apple vai se concentrar no ensino básico de programação infantil.

Apresentado no palco no evento de imprensa da Apple, o programa produzido pela Sesame Workshop é um dos novos lançamentos da Apple TV +, o anunciado serviço de streaming de TV da empresa e rival da Netflix. O novo programa infantil focará em programação, porque “programar estimula a colaboração, habilidades de pensamento crítico e é uma linguagem essencial que todas as  crianças podem aprender”, anunciou a Apple hoje.




Consultei o site TechCrunch no dia 28/03/2019.

quarta-feira, 27 de março de 2019

7 sites para criar formulários

Existem imensos criadores de formulários online, cada um com o seu objetivo: uns são melhores para inquéritos, outros para quizzes, outros para o preenchimento de dados. É importante termos conhecimento daquilo que está disponível para criarmos um formulário adequado.

Esta é uma lista de 7 sites para criar formulários e aquilo a que cada um melhor se adequa.
  • Typeform - embora disponibilize muitos modelos de formulários, a Typeform adequa-se mais a formulários de pesquisa de marketind, feedback e inquéritos para clientes.
  • SamCart - disponibiliza formulários direcionados para o checkout de compras online.
  • Gravity Forms - a sua especialidade é a integração de formas de pagamento nos seus formulários (Paypal, Authorize.net, Stripe)
  • Ninja Forms - a melhor opção para a criação de formulários básicos de WordPress sem ter de mexer numa linha de código.
  • Qzzr - um criador de formulários focado na criação de quizzes como testes por exemplo.
  • Wufoo - uma opção simples e barata de criar um formulário de contacto ou registo básico.
  • Google Forms - a forma mais simples e barata (gratuita) de criar formulários online, embora seja bastante limitado.

Consultei o site ventureharbour.com no dia 27/03/2019

terça-feira, 26 de março de 2019

8 boas práticas ao criar um formulário

Seja para um inquérito ou para um quiz, é importante seguir algumas regras ao fazer um formulário para que seja mais simples para o utilizador preencher e para o criador organizar as respostas.

Se vais criar um formulário é importante ter em mente estas 8 dicas/boas práticas para facilitar te facilitar o trabalho a ti e ao utilizador que o vai preencher.
  • Remover todas as entradas que não são essenciais - cada entrada a mais que utilizas no formulário deixa o formulário mais aborrecido por isso pensa bem em quais são as questões essenciais.
  • Utilizar lógica condicional - ou seja, adicionar campos que só se aplicam se o utilizador responder certa resposta. Isto vai encurtar o tamanho do formulário!
  • Agrupar as questões - se o formulário for formado por 6 ou mais questões é boa prática agrupá-las por assunto.
  • Saber quando utilizar escolha múltipla, resposta escrita, etc. - a boa utilização das opções facilita a leitura e preenchimento do formulário.
  • As escolhas múltiplas devem estar empilhadas verticalmente - é mais fácil processar as respostas verticalmente que horizontalmente.
  • Ter cuidado quando pedimos números de telemóvel - as pessoas estão cada vez mais descontentes quando lhes pedem o número de telemóvel.
  • Não pedir para confirmar o e-mail ou password duas vezes - é preferível utilizar um botão para o utilizador ver o que escreveu do que pedir-lhe para escrever de novo.
  • Disponibilizar sempre uma barra de progresso - estas barras de progresso encorajam os utilizadores a acabarem de preencher o formulário já que têm noção de quanto lhes falta preencher.
Consultei o site ventureharbour.com no dia 26/03/2019

A Tesla vai fechar a maioria de suas lojas e só venderá carros online




Numa grande mudança, a Tesla anunciou que só venderá os seus veículos online. A fabricante de carros elétricos fechará a maioria de suas lojas nos “próximos meses” e demitirá alguns funcionários. A Tesla anunciou a mudança ao mesmo tempo em que anunciou que finalmente começará a vender seu modelo de $35.000 há muito prometido. Os clientes que comprarem o seu Teslas online terão até uma semana para devolver o carro, caso não estejam satisfeitos. Numa teleconferência com repórteres na quinta-feira, o CEO da Tesla, Elon Musk, disse estar confiante de que poucos clientes exerceriam essa opção. A mudança para o eCommerce ajudará a Tesla a cortar algumas despesas operacionais, além de evitar lidar com políticas locais que a impediram de operar suas próprias lojas em certos sítios.


A Tesla "aumentará significativamente" o número de centros de serviços para atender à demanda de sua crescente base de clientes, acrescentou Musk. A empresa oferece serviço móvel, no qual carrinhas de reparo da marca Tesla podem ser convocadas através do aplicativo móvel Tesla.



Num post no blog, a empresa descreveu o processo de compra on-line de seus veículos:
"Agora pode comprar um Tesla na América do Norte através de seu telemóvel em cerca de 1 minuto, e esse recurso será estendido em breve em todo o mundo. Também estamos a tornar muito mais fácil experimentar e devolver um Tesla, de modo a que um test drive antes da compra não seja necessário. Agora pode devolver um carro no prazo de 7 dias ou 1.000 milhas para um reembolso total. Até poderia comprar um Tesla, dirigir várias centenas de quilómetros para uma viagem de fim de semana com amigos e depois devolvê-lo gratuitamente."


Consultei o site electrek e o blog da Tesla no dia 26/03/2019.

domingo, 24 de março de 2019

JPG ou PNG?

Com várias opções para salvar ou exportar as suas imagens, a decisão pode parecer complicada. Este post abordará duas das opções de formato de arquivo mais populares, JPG e PNG, incluindo quando usá-las e porquê.

Existem duas perguntas principais a serem feitas quando se quer decidir qual formato de arquivo de imagem que deve ser usado.

Primeiro, que tipo de imagem é essa? É uma foto casual do seu cão ou um gráfico detalhado com um propósito profissional? Ela precisará ser redimensionada ou alterada em relação ao estado actual?

Em segundo lugar, como se pretende usar essa imagem? Será publicada num site de uma empresa? Ou será para uso pessoal?

As respostas a essas perguntas ajudarão a seleccionar o tipo de arquivo ideal.


O que é um JPG?

O tipo de arquivo de imagem JPG foi desenvolvido pelo Joint Photographic Experts Group (JPEG) em 1992. O grupo percebeu que havia a necessidade de tornar os grandes arquivos fotográficos mais pequenos, para que pudessem ser mais facilmente compartilhados.

Alguma qualidade é comprometida quando uma imagem é convertida em JPG. O motivo é porque a compressão é com perdas, o que significa que determinadas informações desnecessárias são excluídas permanentemente. No entanto, um JPG permite que se crie um tamanho de arquivo menor do que com um PNG.


JPG vs PNG lado a lado. Imagem de comparação do Parque Nacional de Zion

Um JPG deve ser usado em qualquer situação em que seja importante ter um arquivo pequeno. Além do guardar inicial como um JPG, existem ferramentas que permitem reduzir ainda mais o arquivo. Isso é útil para imagens da Web, porque o tamanho menor aumentará a velocidade de carregamento da página. À medida que as conexões de internet de banda larga se tornam mais universais, isso está a tornar-se um problema cada vez menor. No entanto, aqueles com conexões de internet mais lentas ou computadores mais antigos e menos potentes agradecerão pela sua consideração.


O que é um PNG?

O formato de arquivo PNG foi criado em meados dos anos 90 para funcionar como um substituto do Graphics Interchange Format (GIF). Limitações do GIF levaram à criação e prevalência do PNG.

Um benefício importante e, muitas vezes, factor decisivo para usar um arquivo PNG, é que, ao contrário de um JPG, eles dão suporte à transparência. Isto permite que se tenha um fundo transparente em torno de um objecto de forma irregular e evite uma caixa branca (ou de outra cor) delineando a imagem. Se se precisar de transparência, definitivamente deve-se optar por um PNG.





















A compactação de arquivos para um PNG é sem perdas. Como o termo indica, a compactação sem perdas retém todos os dados contidos no arquivo, dentro do arquivo, durante o processo. A compactação sem perdas é necessária quando se tem imagens que ainda estão no processo de edição. Geralmente, os PNGs são usados ​​se o tamanho não for um problema e a imagem for complexa, porque um arquivo PNG contém mais informações que um JPG. Também é ideal usar um PNG para uma imagem gráfica, como o ícone abaixo, que é usado na página do produto TechSmith Snagit.


Então, JPG ou PNG?

Não há resposta certa ou errada! Pense na escolha como um processo de optimização e permita que os factores que abordamos guiem a sua decisão.


Sites consultados:
Techsmith

Snipping Tool


Snipping Tool, em português Ferramenta de Recorte, é um utilitário de captura de tela do Microsoft Windows, incluído no Windows Vista e posterior. Podem ser capturadas áreas rectangulares, uma área de forma livre ou a tela inteira. Os recortes podem ser armazenados como um arquivo de imagem (arquivo PNG, GIF ou JPEG) ou um arquivo MHTML, ou enviados por e-mail. A Ferramenta de Recorte permite a edição básica de imagem do instantâneo, com canetas de cores diferentes, uma borracha e um marcador.

O Windows 10 adiciona uma nova função "Atraso", que permite a captura cronometrada de capturas de tela. Esta função foi substituída pelo Snip & Sketch na actualização do Windows 10 em outubro de 2018, mas ainda está disponível na actualização de outubro de 2018.

Aqui está um vídeo que mostra como se utiliza esta ferramenta.




Sites consultados:

Motivação para programar

Sempre que estamos a aprender algo precisamos de nos manter motivados. Essa motivação em aprender cada vez mais deve ser constante para que possamos chegar a um objectivo e que possamos desenvolver projectos cada vez mais complexos, sem desistir a meio. 
Assim, aqui estão algumas dicas que podem ajudar a manter a motivação e que contribuem para a aprendizagem de programação.

1) Entender o código

Digitar código – quase – toda a gente consegue digitar. Mas é extremamente importante saber o que está a acontecer ali. Se se está a estudar uma linguagem e o professor está a desenvolver um projecto com a turma, é importante não copiar o que está a ser feito. É vital entender, por exemplo, o que cada comando faz, o porquê de ter sido criado aquele método e assim por diante.
Dentro desse contexto, também é importante aprender os conceitos e estruturas, para que possam ser replicados no seu próprio projecto. Aliás, se não se entende o que está a fazer, não vai adiantar muita coisa. Além de que, existe uma maior possibilidade de se perder o interesse pela programação por começar a achar que se é incapaz. Então, não se torne apenas um copiador de código.

2) Praticar

Depois de entender a parte mais teórica, é importantíssimo que se treine para se fixar tudo o que se aprendeu. A prática é essencial para que se aumente e desenvolva essas habilidades, para que depois se seja capaz de tirar ideias de projetos e torná-las reais.
Mesmo que ainda não se esteja no nível desejado, pode-se aprender muito em menos tempo do que se imagina, apenas com dedicação e esforço.

3) Pedir ajuda

Não há nada demais em pedir ajuda a alguém quando se sente dificuldades em alguma coisa. É comum as pessoas aprenderem umas com as outras e compartilharem os seus conhecimentos. Isso também vale para os erros. É importante não ter medo de errar e aceitar isso como normal. É com os erros que se vai tirar um aprendizagem, para que a situação não se volte a repetir.
Quando houver um erro, tente resolvê-lo… Se não conseguir, peça ajuda. Não se sinta inferiorizado por isso. Sempre tenha por perto pessoas que estejam num nível de conhecimento acima do seu, porque assim sempre se terá o que aprender com elas.

4) Aprender coisas novas

Ao aprendermos uma maneira nova de fazermos algo que já fazíamos, conseguimos manter-nos actualizados e reduzir as hipóteses de nos aborrecermos com o mesmo processo. Esse processo é importantíssimo, porque também nos ajuda a evoluir.

5) Ter referências

Conhecer pessoas que alcançaram os seus objectivos e tiveram sucesso é uma óptima fonte de inspiração. Cada um tem uma história diferente e muita coisa depende muito do nosso esforço. O contacto com essas pessoas dá-nos motivação para continuar a tentar alcançar os objectivos. Além disso, é muito bom ter pessoas ao seu redor com pensamentos positivos e sempre dispostas a ajudar.


Sites consultados:
Treinaweb

O uso de AR na indústria


O uso de AR na indústria


Uma forma de perceber as diferenças entre AR e VR pode ser dada pela imagem abaixo:


https://res.cloudinary.com/engineering-com/image/upload/w_640,h_640,c_limit,q_auto,f_auto/Reality-Virtuality_Continuum_cu5mq1.jpg


Alguns exemplos de aplicação na indústria.


1- Montagens complexas

Exemplo da Volvo a usar o Hololens nas linhas de montagem:
Volvo has been experimenting with AR on its assembly lines using Microsoft's HoloLens. (Image courtesy of Microsoft.)


2- Manutenção
Permite que trabalhadores sejam mais bem informados dos equipamentos que estão a manter e não haja
etapas que possam ser saltadas.
Possibilita ainda que um técnico que não tenha conhecimento de um determinado modelo, rapidamente
receba as informações necessárias para manter esse equipamento.
 


Um outro exemplo é nos elevadores Thyssen:





3- Apoio Especializado


Tal como na medicina, caso seja necessário um especialista remoto, numa dada situação, será possível um
técnico recorrer a alguém que saiba mais que ele.




4 – Controlo de Qualidade
Neste caso imagens obtidas pelos técnicos são comparadas com outras que são usadas como controle.
Empresas como a Airbus e a Porsche estão a usar aplicações como AR para esta finalidade.


 
Referências:


Aplicações da Realidade Aumentada


Aplicações da Realidade Aumentada


A realidade aumentada (Augmented Reality) consiste essencialmente em colocar elementos digitais de
informação (3D ou não) que podem interagir com o utilizador, em contextos reais. Para que isso aconteça, a
realidade tem que ser interpretada por sensores (normalmente câmaras óticas, juntamente com GPS,
acelerómetros, etc) de modo a conseguir colocar/sobrepor os conteúdos digitais na realidade física.
As aplicações são inúmeras e listamos apenas algumas:
- Jogos – O Pokémon Go é apenas um dos exemplos mais conhecidos
Imagem relacionada


- Manutenção – explicar como reparar ou substituir peças
Imagem relacionada
- Retalho – "wear before you buy" virtual (óculos, roupas, sapatos, etc), mostra mobiliário nas casas a
partir de catálogos (ver o exemplo do IKEA).
Resultado de imagem para realidade aumentada exemplos
- Formação e educação – tanto a nível escolar como a nível profissional
Imagem relacionada
- Turismo – com guias virtuais em museus ou cidades

- Arquitetura e construção – mostra os edifícios antes de estarem acabados ou mobilados, permitindo uma visualização mais detalhada.
Imagem relacionada
- Medicina – permite, em particular nas cirurgias, uma visão mais clara das situações
- Publicidade e marketing – campanhas que envolvam RA aplicada a produtos ou campanhas.
- Situações profissionais – como a realização de encontros virtuais (via avatares) de pessoas que não estão no mesmo sítio
- Aplicações militares – quer no comando, quer em veículos ou no terreno
Uma das interfaces usadas são óculos especiais (ou mesmo capacetes) que projetam as imagens nas lentes e
permitem mais facilmente contextualizar a ação. Sem óculos especiais (googles), podem ser usadas
aplicações em telemóveis ou tablets.
A aplicação do conceito de realidade aumentada (ou melhorada) ainda está na sua infância, embora o
conceito já é aplicado há várias décadas em áreas especificas (como os HUD dos aviões de caça).
Caminhamos para a RA ser muito mais aplicada e ser mais comum.


Referências:




Aplicações de realidade aumentada (AR) e a Realidade Virtual (VR) no retalho


Aplicações de realidade aumentada (AR)  e a Realidade Virtual (VR) no retalho


Uma das principais aplicações de Realidade Aumentada e da Realidade Virtual é na venda a retalho, quer
na criação de experiências com lojas virtuais, quer na possibilidade de realizar provas virtuais, quer em loja
quer fora dela.
IKEA – é um bom caso de estudo, ao criar catálogos que permitem, usando uma app de telemóvel, testar
o mobiliário IKEA na casa de cada um.


Resultado de imagem para augmented reality in retail


Um exemplo da aplicação do AR em loja é o  N Show 3D Virtual Fitting Room, que permite que o cliente
“prove” a roupa sem ter que mudar de roupa, facilitando o processo de escolha.


Imagem relacionada


Branding e navegação em loja são também dois tipos de aplicação que podem ser usados com sucesso:
Resultado de imagem para augmented reality in retail


Os dois exemplos abaixo são exemplos de aplicação da VR (Virtual Reality) que não é o mesmo que AR. Serve
perfeitamente para perceber a diferença, pois neste caso o ambiente é totalmente virtual, não existe
nenhuma ligação com o espaço físico.
ebay experience – Shopticals


Sixsense VRetail


Referências:


A Guerra dos Tronos é a série preferida para esconder vírus

Resultado de imagem para game of thrones

Episódios pirateados das séries de televisão A Guerra dos Tronos, Arrow e The Walking Dead são os preferidos dos cibercriminosos para esconder conteúdo malicioso e roubar o acesso ao computador de alguém. 


Um quinto de todos os ataques vêm em episódios ilegais da série inspirada na fantasia medieval de George R.R. Martin, e o primeiro de todos – Winter is Coming – é o que mais vem com vírus acompanhado. 

A informação surge num relatório recente da empresa de antivírus Kaspersky, que olha para o panorama mundial da pirataria numa altura em que surgem cada vez mais formas de ver televisão legalmente através da Internet (em Portugal, a Netflix e a HBO são algumas das plataformas de subscrição já disponíveis).

Os investigadores aconselham que se veja séries apenas por meios legítimos e que, para ficheiros descarregados, não usar ficheiros com extensão ‘.exe’ somente‘.avi’, ‘.mkv.’ ou ‘.mp4’.


Consultei o site DN no dia 04/04/2019.

CSS para obter suporte para funções de trigonometria

CSS

CSS, a linguagem que estiliza e organiza como os elementos de página aparecem num site, terá suporte para funções de trigonometria, como seno, coseno, tangente e outras. As novas funções de trigonometria foram aprovadas no final de fevereiro numa reunião do Grupo de Trabalho CSS do World Wide Web Consortium (W3C).


As novas funções aprovadas e definidas para se associar ao padrão CSS são: 
  • Seno - sin() 
  • Coseno - cos() 
  • Tangente - tan() 
  • Arccoseno - acos() 
  • Arcseno - asin() 
  • Arctangente - atan() 
  • Arctangente (de dois números x e y) - atan2()
  • Raiz quadrada - sqrt()
  • Raiz quadrada da soma dos quadrados de seus argumentos - hipot()
  • Potência de - pow()
Foi aprovada a adição dessas novas funções matemáticas ao CSS, a pedido de vários Web developers que solicitaram uma maneira simples de controlar as animações CSS usando a sintaxe CSS nativa em vez de JavaScript. Os desenvolvedores queriam métodos simples para trabalhar com ângulos e sincronizar seqüências de animação complexas sem precisar escrever código JavaScript personalizado ou carregar bibliotecas de animação ou mecanismos de jogos volumosos e superdimensionados. 


Consultei o site ZDNet no dia 24/03/2018.


Statebox- uma linguagem de programação visual!

O que é a Statebox?
A Statebox está a desenvolver uma tecnologia baseada em uma linguagem de programação visual. Não é uma linguagem de programação de propósito geral, mas uma focada em modelagem e execução de processos. A linguagem Statebox é construída usando uma abordagem de programação funcional que utiliza, entre outras coisas, teoria de categorias, redes de Petri, jogos abertos, programação lógica e criptografia.

Principais propriedades da linguagem Statebox:

  • Abstração - o núcleo da linguagem é uma estrutura matematicamente minimalista destinada a facilitar o raciocínio sobre o seu comportamento;
  • Composicionalidade - o trabalho inteiro é projetado a partir de uma perspectiva da teoria de categorias para aumentar a composicionalidade, o que é bem diferente da modularidade;
  • Visual - uso de diagramas e redes de Petri para as suas propriedades de raciocínio computacional e diagramático;
  • Correto por Construção - as provas de exatidão de ponta a ponta são um princípio fundamental de design, não uma reflexão tardia. De acordo com essa filosofia, preferimos uma linguagem restrita, sempre terminada (uma completa não-Turing).

GitLab 11.9 lançado com deteção de segredos e várias regras de aprovação de MR

Aprenda rapidamente se alguns segredos foram revelados:
Inadvertidamente cometer credenciais para um repositório compartilhado pode ter sérias consequências, mas é um erro comum de se fazer. Quando um invasor recebe a sua senha ou chave de API, ele pode assumir controlo da sua conta, bloqueá-lo é gastar dinheiro de maneira fraudulenta. Isso pode até levar a um efeito dominó em que o acesso a uma conta concede acesso a outras contas de outras pessoas. Com as apostas tão altas, é de extrema importância aprender o mais rápido possível a livrar-se dos segredos. Com este lançamento, estamos a apresentar a detecção secreta como parte da nossa funcionalidade SAST. Cada confirmação é verificada por um trabalho de IC / CD para garantir que ela não contenha segredos. Se a varredura detectar segredos, o criador é alertado na solicitação de modificação, permitindo que eles tomem providências rapidamente para invalidar as credenciais perdidas e gerar novas.

Os princípios fundamentais de design de software!

O que torna o design de software sustentável? Lógica bem expressa por meio de linguagem poderosa e seu açúcar sintático? Ausência de código clichê? Coesão apertada e solto acoplamento? Usar padrões de design e evitar antipadrões? Falar nomes de classes, métodos e variáveis?
Eles são úteis de tempos em tempos, mas não garantem nada e são difíceis de raciocinar objetivamente. Línguas profundamente açucaradas tendem a ser mais complexas para ler e estudar e mais difíceis para impor padrões de qualidade. O uso excessivo de padrões de design geralmente leva a um excesso de design. Há décadas de métricas para estimar a coesão e o acoplamento e nenhuma delas é precisa o suficiente para fazer decisões. E certos nomes podem significar coisas completamente diferentes em diferentes contextos.
Todos nós sentimos a dor quando o código que mantemos é uma bagunça, mas o que significa "uma bagunça" que normalmente não podemos formular presencialmente. Encontrei para mim o melhor, o menor, o mais simples e o mais universal critério de manutenção. E funciona especialmente impecável com Elegant Objects.

Os principais princípios que descrevi são os seguintes:
-Cada componente reutilizável auto-suficiente de alguns softwares deve ser abstrato ou concreto. -Os componentes abstratos são bons para definir um propósito de aplicação e intenções de suas partes, enquanto os componentes concretos são bons para implementar os requisitos de software do usuário final. -Componentes abstratos devem ser estáveis, enquanto componentes concretos devem ser fáceis de mudar. -Componentes abstratos nunca devem depender de componentes concretos.

Na verdade, isso é tudo que você precisa saber sobre o design. Para aplicar esses princípios, a única coisa que resta é decidir como abstrato ou concreto é cada componente do seu sistema e restringi-lo de acordo. Tudo o mais - padrões, antipadrões, paradigmas e conceitos errôneos, construções de linguagem e recursos de frameworks - derivam essa ideia central e ajudam os desenvolvedores a segui-la, ou levar a problemas, especialmente quando incompreendidos. Os princípios que descrevi acima são aplicáveis ​​em qualquer sistema, consistindo de partes de código auto-suficientes e reutilizáveis. Essas peças podem ser qualquer coisa - classes / interfaces, procedimentos, funções, bibliotecas, módulos ou até mesmo processos e microservices: se eles podem ser reutilizados em vários locais do sistema, eles são a fonte dos mesmos problemas de design. A reutilização é impossível sem o acoplamento, e o acoplamento sempre torna a manutenção do sistema mais difícil em algum grau. Seguindo estes quatro princípios, você pode manter o impacto na manutenção do acoplamento no mínimo.