دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش:
نویسندگان: Fowler. Martin
سری:
ISBN (شابک) : 9788575227251, 9788575227244
ناشر: Novatec Editora
سال نشر: 2019
تعداد صفحات: 0
زبان: Portuguese
فرمت فایل : EPUB (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 1 مگابایت
در صورت تبدیل فایل کتاب Refatoração - Aperfeiçoando o Design de Códigos Existentes به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب Refactoring - بهبود طراحی کد موجود نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
Apresentação da primeira edição Prefácio capítulo 1 Refatoração: primeiro exemplo Ponto de partida Comentários sobre o programa inicial Primeiro passo na refatoração Decompondo a função statement Status: muitas funções aninhadas Separando as fases de cálculo e de formatação Status: separado em dois arquivos (e fases) Reorganizando os cálculos por tipo Status: criando os dados com a calculadora polimórfica Considerações finais capítulo 2 Princípios da refatoração Definindo a refatoração Dois chapéus Por que devemos refatorar? Quando devemos refatorar? Problemas com a refatoração Refatoração, arquitetura e Yagni Refatoração e o processo mais amplo de desenvolvimento de software Refatoração e desempenho De onde veio a refatoração? Refatorações automatizadas Indo além capítulo 3 “Maus cheiros” no código Nome misterioso Código duplicado Função longa Lista longa de parâmetros Dados globais Dados mutáveis Alteração divergente Cirurgia com rifle Inveja de recursos Agrupamentos de dados Obsessão por primitivos Switches repetidos Laços Elemento ocioso Generalidade especulativa Campo temporário Cadeias de mensagens Intermediário Trocas escusas Classe grande Classes alternativas com interfaces diferentes Classe de dados Herança recusada Comentários capítulo 4 Escrevendo testes Importância de um código autotestável Código de exemplo para testar Um teste inicial Acrescente outro teste Modificando o fixture Sondando os limites Muito além disso capítulo 5 Apresentação do catálogo Formato das refatorações Escolha das refatorações capítulo 6 Primeiro conjunto de refatorações Extrair função (Extract Function) Internalizar função (Inline Function) Extrair variável (Extract Variable) Internalizar variável (Inline Variable) Mudar declaração de função (Change Function Declaration) Encapsular variável (Encapsulate Variable) Renomear variável (Rename Variable) Introduzir objeto de parâmetros (Introduce Parameter Object) Combinar funções em classe (Combine Functions into Class) Combinar funções em transformação (Combine Functions into Transform) Separar em fases (Split Phase) capítulo 7 Encapsulamento Encapsular registro (Encapsulate Record) Encapsular coleção (Encapsulate Collection) Substituir primitivo por objeto (Replace Primitive with Object) Substituir variável temporária por consulta (Replace Temp with Query) Extrair classe (Extract Class) Internalizar classe (Inline Class) Ocultar delegação (Hide Delegate) Remover intermediário (Remove Middle Man) Substituir algoritmo (Substitute Algorithm) capítulo 8 Movendo recursos Mover função (Move Function) Mover campo (Move Field) Mover instruções para uma função (Move Statements into Function) Mover instruções para os pontos de chamada (Move Statements to Callers) Substituir código internalizado por chamada de função (Replace Inline Code with Function Call) Deslocar instruções (Slide Statements) Dividir laço (Split Loop) Substituir laço por pipeline (Replace Loop with Pipeline) Remover código morto (Remove Dead Code) capítulo 9 Organizando dados Separar variável (Split Variable) Renomear campo (Rename Field) Substituir variável derivada por consulta (Replace Derived Variable with Query) Mudar referência para valor (Change Reference to Value) Mudar valor para referência (Change Value to Reference) capítulo 10 Simplificando lógicas condicionais Decompor condicional (Decompose Conditional) Consolidar expressão condicional (Consolidate Conditional Expression) Substituir condicional aninhada por cláusulas de guarda (Replace Nested Conditional with Guard Clauses) Substituir condicional por polimorfismo (Replace Conditional with Polymorphism) Introduzir caso especial (Introduce Special Case) Introduzir asserção (Introduce Assertion) capítulo 11 Refatorando APIs Separar consulta de modificador (Separate Query from Modifier) Parametrizar função (Parameterize Function) Remover argumento de flag (Remove Flag Argument) Preservar objeto inteiro (Preserve Whole Object) Substituir parâmetro por consulta (Replace Parameter with Query) Substituir consulta por parâmetro (Replace Query with Parameter) Remover método de escrita (Remove Setting Method) Substituir construtor por função de factory (Replace Constructor with Factory Function) Substituir função por comando (Replace Function with Command) Substituir comando por função (Replace Command with Function) capítulo 12 Lidando com herança Subir método (Pull Up Method) Subir campo (Pull Up Field) Subir corpo do construtor (Pull Up Constructor Body) Descer método (Push Down Method) Descer campo (Push Down Field) Substituir código de tipos por subclasses (Replace Type Code with Subclasses) Remover subclasse (Remove Subclass) Extrair superclasse (Extract Superclass) Condensar Hierarquia (Collapse Hierarchy) Substituir subclasse por delegação (Replace Subclass with Delegate) Substituir superclasse por delegação (Replace Superclass with Delegate) Bibliografia