Take pages with similar or closely-related content. Decide which name is better. Merge and condense all content to the page with the "good" name synonym. Reduce the "bad" name synonyms to just a link to the "good" one by using "See good name" (SeeAlso). Update all the BackLinks to point to the new single page. Use SixSingleQuotes to unlink any references to the old page name needed for historical purposes. Perhaps someday delete the old pages.
If you are reading these lists, and you have some spare time, merging one or more of these groups would be appreciated by all as part of the permanent WikiSpringCleaning. If you are one of the people who intentionally or unintentionally created redundant pages, please FixYourWiki.
One approach to tackling big groups is to RefactorLowHangingFruit.
Page Groups That Are Candidates for Merging
Big Groups (more than four related pages)
- StartingPoints, OneMinuteWiki, NewUserPages, TipsForBeginners
- ToSignOrNotToSign, UsingSignatures, PleaseDontDeleteMyName, NoNamesPlease, PreferAnonymousContributions?, SignedDocumentMode
- ProfileBeforeOptimizing, PrematureOptimization, OptimizeLater, LazyOptimization
- MeaningfulName, IntentionRevealingNames, IntentionRevealingSelector, IdentifiersRevealIntent, DoesWhatItSaysOnTheTin, IntentionNotAlgorithm, RonsealPattern, NameThingsWhatYouCallThem, NomenEstOmen?, GoodVariableNames
- PolymorphismVsSelectionIdiom, ReplaceConditionalWithPolymorphism, CaseStatementsConsideredHarmful, SwitchStatementsSmell
- RubberDucking, CardboardProgrammer, DebugByDescribing, CardboardAnalyst [related: ReflectiveArticulation, ShouldWeTalkToOurselvesWhenReadingCode, NoddingDummy, TwoBrainProblem, ConeOfAnswers ]
- TheRepresentationIsNotTheRealThing, DontEatTheMenu, DontEatTheBuddhas, TheMapIsNotTheTerritory, TheMapHasReplacedTheTerritory, MixingLevels
- AuditoryIcon, BeepInterface, BeepSpeek, AttensonPattern, SituationalAwareness, SystemMonitoring, UseSound
- ComplainingAboutComplaining , StopComplaining, ChronicComplainer, ActInsteadOfComplain, DontCriticizeCondemnOrComplain, JustCorrectDontPoint, CorrectInsteadOfCriticize... (related to UseFactsToComplain, CriticizeHelpfully, AskPermissionBeforeCriticizing )
- HiveMind, DistributedMind, CollectiveIntelligence, WikiAsGroupMindDebate, GlobalBrain
- AlanKayQuotes, SuccessfulTechnology, AttributedTo [not AlanKayOnObjects or AlanKayOnMessaging, since these are used to refer to the specific quotes]
- TruckNumber, TruckNumberFixed, BusNumber, LotteryNumber, BusTest, MoreFunWithTruckNumbers, (and perhaps VacationNumber)
- BigOh. OrderNotation BigOhNotation
Small Groups (four or fewer related pages)
- WordsSmashedTogetherLikeSo, JoinCapitalizedWords
- MissingWikiBeforeXp, XpFreeZone, MustEverythingOnThisWikiBeExtreme
- OnTopic, AppropriateWikiTopics
- BuyDontBuild, BuildDontBuy, AvoidOrEmbraceLibraries Should I move them all to BuyDontBuild (since that is the majority view), or something neutral like BuildOrBuy (since there's a bit of text in favor of build over buy in some situations)?
- CowboyCoder, CowboyCoding, CowBoy, StudlyProgrammer
- LotsofIrritatingSillyParentheses, ReadingLispCode, EditingLispCode
- SoloPartnering, SoloProgrammingXpWorkarounds, LargeScaleIndividualSoftwareDevelopment
- CodingStandard, CodingConventions, CodingStyle
- LifesJustTooShort, LifesTooShort, ThisIsYourLife, ArsLongaVitaBrevis
- FunctionalRequirements, PutaNumberOnIt, DontPutaNumberOnIt, <other requirements pages>
- UserStoryAndUseCaseComparison, UserStoryAndUseCaseDiscussion, CritiqueOfUseCases, UseCaseToUserTask
- CaseStatementsConsideredHarmful, SwitchStatementsSmell, SwitchStatementsAreEvil
- ComponentOrientedLanguage, ComponentOrientedProgrammingLanguage
- ComponentDefinition, WhatAreComponentsAnyway
- ObjectOrientedDesignIsDifficult, ObjectOrientationIsDead, MostProgrammersDontGrokObjects, ManyFindObjectOrientationHard
- ShortMethods, LotsOfShortMethods, FewShortMethodsPerClass, ManyShortMethodsPerClass
- ZeroOneInfinity, ZeroOneInfinityRule, TwoIsAnImpossibleNumber
- GreatSoftwareBooks, GreatBooksAboutSoftware, ComputerBookList, BookList
- OnlySayThingsThatCanBeHeard, GingerFactor
- ConsiderTimestampingYourWriting, DatestampsConsideredHarmful
- HowToImprovePatents, SoftwarePatents, PatentsAreEvil
- GlobalVariablesAreBad, GlobalVariablesConsideredHarmful
- WikiObjectionsToWorkingTestFirst, ObjectionsToWorkingTestFirst, MoreObjectionsToWorkingTestFirst
- StartFromScratch, PleaseReinventTheWheel (perhaps renaming the final product ReasonsToReinventTheWheel?), DifferentVersionFromScratch, RewriteCodeFromScratch
- ImmutableObject, ImmutableValue, ImmutableValueObject, ValueObject
- TransparentPersistence, OrthogonalPersistence
- EventDrivenProgramming, HollywoodPrinciple, InversionOfControl
- RefactorByMerging (and some of the comments at ExtremeProgrammingChallenge)
- OoHasMoreDials, IsObjectOrientationMoreComplex
- EightyTwentyRule, NinetyTenRule, TwentyEightyRule
- ReaderWriterLocking, ReadWriteLock
- Someone claimed on SingletonsAreEvil that its text should be moved to SingletonPattern.
- SeparateIoFromCalculation, SeparateDomainFromPresentation perhaps
- BugsAreJustStories, BugsArentJustStories, AllBugsAreNotEqual
- OldRulesWithForgottenReasons, OldRulesWithOutdatedForces
- NullIsaHack, NullConsideredHarmful
- CodeUnitTestFirst, NeverWriteaLineOfCodeWithoutaFailingTest (these are the same thing, right?)
- AgreeByDeleting, LetHotPagesCool (more saying LetHotPagesCool OnceAndOnlyOnce than a full on merge)
- CeePlusPlusSlowerThanCee, CeePlusPlusNotSlowerThanCee
- BadStyleGuides, BadCodingStandards
- CapsLock, CapsLockZombieTechnology, CapsLockOff, RemapCapsLock
- StringBuffer, StringBufferExample
- WikiWishList?, WikiFeatureIdeas
- DeleteAbandonedHomePages, AreYouThere
- TheyreJustRules, ItsJustaRule
- TreeUberAlles, LimitsOfHierarchies
- WikiDownload, DownloadWiki
- PatternLanguageForTheWeb, WebsitePatterns
- EscapeHatchMechanism, EscapeMechanisms ... and perhaps EscapeHatch
- BufferOverflow, CeeLanguageAndBufferOverflows ... is StackOverflow the same thing?
- WhereDoTheBracesGo, AlwaysUseBracesOnIfThen, BracesAroundBlocks
- WikiWordStatistics, HowWeTalk
- BsdOs, BerkeleyStandardDistribution, and maybe BsdLicense
- BlindSpots, UnconsciousIncompetence
- WhatIsTheSourceCode WhatIsSourceCode
- TimebombNewPages, DeletedUnlessDefended
- DeleteMe DeleteWhenCooked
- WikiJunkie, WikiAddiction, WikiAddict, WikiIsAddictive, WikiholicsAnonymous
- OrgPatterns, OrganizationPatternsEditorialProject
- HalfKeyboard HalfQwerty
- OddMuseWiki, OddMuse
- WikiNameInRealLifeSyndrome, TalkingInWiki
- FpVsOo, OoVsFunctional
- SapirWhorfHypothesis, WhorfianHypothesis
- MeaningOfLife, TheMeaningOfLife, FortyTwo
- WikiEmigration, WikiGrowsByBudding, MoveItElsewhere, MakeAnElsewhere
- FlatEarthArgument, TheEarthIsFlat
- CodeIsData , DataAndCodeAreTheSameThing
- BlindAlley, TheRoadNotTraveled (these are talking about the same thing, right?)
- SeasideFramework, SeaSide, SeasideWebFramework
- GemStonej, GemStoneJava
- AutomatedIntelligence, AutomatingIntelligence
- PatternTemplate , DesignPatternTemplate, PatternForms (Merge into 2 page: an index and a actual recommended template)
- PortlandForm, ThereforeBut ( PatternForms claims they are the same thing )
Refactor To Singular Form
One consequence of the WikiNamePluralProblem is that Wiki tends to spawn paired singular/plural pages (e.g., "FooBar" and "FooBars"). In some cases there's a useful distinction between singular and plural, but there are some cases where it is sensible to refactor to singular form.
[Note: the list below doesn't contain more complicated singular/plural pairs such as UserStory/UserStories.]
If a pair of pages shouldn't be merged (e.g., CategoryBook and CategoryBooks), please remove them from the list. If some more need to be added to the list, do so.
It is sensible to preserve the plural form if it's liable to be recreated, or exists in numerous places. For example, new links to UnitTests appear every few weeks, so keep UnitTests as a redirection to UnitTest. For pages with uncommon names, or those that haven't been changed in a long time, it probably makes sense to refactor to singular form and delete the plural page. Some refactorers however may not follow this convention.
- CorporateWiki, CorporateWikis
- CulturalAssumption, CulturalAssumptions
- DataStructure, DataStructures
- DesignPattern, DesignPatterns
- ElementaryPattern, ElementaryPatterns
- EmbeddedSystem, EmbeddedSystems
- EnterpriseJavaBean, EnterpriseJavaBeans : 'Beans' plural is Sun jargon; keep both pages.
- EvolutionaryAlgorithm, EvolutionaryAlgorithms
- ExceptionPattern, ExceptionPatterns
- ExtremeProgrammingPractice, ExtremeProgrammingPractices
- ExtremeProgrammingProject, ExtremeProgrammingProjects
- ExtremeRole, ExtremeRoles
- FunctionalTest, FunctionalTests
- GraphicsPattern, GraphicsPatterns
- HorizontalStripe, HorizontalStripes
- JavaDesignFlaw, JavaDesignFlaws
- JavaIdiom, JavaIdioms
- JavaUnitClone, JavaUnitClones
- OperatingSystem, OperatingSystems
- PatternForm, PatternForms
- PatternLanguage, PatternLanguages
- RefactoringPattern, RefactoringPatterns
- RelationalDatabase, RelationalDatabases
- SecurityPattern, SecurityPatterns
- SisterSite, SisterSites
- SmalltalkTutorial, SmalltalkTutorials
- SoftwarePattern, SoftwarePatterns
- SoftwareProductLine, SoftwareProductLines
- TemplateSpecialization, TemplateSpecializations
- TestingFramework, TestingFrameworks
- UnixOperatingSystem, UnixOperatingSystems
- UseCase, UseCases
- WebService, WebServices
- WikiClone, WikiClones
- WikiFarm, WikiFarms
- WikiForum, WikiForums
- WikiPattern, WikiPatterns
See RefactoringWikiPages, OnceAndOnlyOnceOnWiki, WikiPenance, HailWiki, MergeMe
CategoryWikiMaintenance CategoryWikiRefactoring