Are Comments Unnecessary?

Warning! Some information on this page is older than 3 years now. I keep it for reference, but it probably doesn't reflect my current knowledge and beliefs.

11:34
Sat
08
Sep 2012

Are Comments Unnecessary?

I generally believe that in programming there is often only one right way of thinking and who doesn't agree with it is just not experienced enough to understand it. That's why I avoid expressing my personal and more "philosophical" opinions about programming. But maybe I should? Tell me what you think in comments.

I was inspired to write this post by the list of 20 controversial programming opinions. It looks like a gist from discussion of many professionals. I like it a lot and agree with all of the points, except one.

In point 4 they claim that comments are a form of code duplication and should be avoided in favor of more readable code. I don't think that's true. In the perfect world all code comments would be unnecesary because programming language would be so clean and expressive that we could express our intentions directly in the code. But in reality there is always lots of bookkeeping / boilerplate code that we have to interlace with real logic to make any program work. Managed languages (like C#, Java) and scripting languages (like JavaScript, Python) do better job in reducing it than C and C++, but in exchange for performance.

Look at this very simple example. HLSL language has function reflect that calculates a reflected vector. If it didn't, we could easily code it in HLSL using vector arithmetic, like this:

float3 reflect(float3 i, float3 n) {
    return i - 2 * dot(i, n) * n;
}

Now what if we want to code same function in C or C++ and we use XNA Math as the math library? It would look like this:

XMVECTOR reflect(FXMVECTOR i, FXMVECTOR n) {
    return XMVectorSubtract(i, XMVectorScale(n, 2.f * XMVectorGetX(XMVector3Dot(i, n))));
}

Much better than if we coded it using D3DX math functions, but still not very readable. Don't you think that the formula for this calculation, expressed directly in some comment above this function, would help to understand it?

// i - 2 * dot(i, n) * n

Please also recall how algorithms look like when described in this Pascal-like pseudocode in computer science books. Now think about an algorithm for manipulating some complex data structure that you seen or written in the real code. Was it similar? I bet it was several times longer because of all this memory allocation and other stuff that had to be done to make it a working code.

Of course I agree comments that repeat what can already be seen in code are stupid.

// Creates thread.
void CreateThread();
// Number of threads.
UINT threadCount;

Even worse when comments replace good identifier names.

// Creates thread.
void Go();
// Number of threads.
UINT i;

But code doesn't tell everything. It doesn't tell whether particular pointer can or cannot be null, a time value is in seconds or milliseconds, a number has to be power of two etc. I like comments before functions and classes, especially in header files, as a form of documentation - no matter if in Doxygen format or not.

/*
i - Incident 3D vector, pointing towards the surface.
n - Normal 3D vector, perpendicular to the surface. Should be normalized.
Returned 3D vector points from the surface.
*/
XMVECTOR reflect(FXMVECTOR i, FXMVECTOR n);

I think encapsulation is everything. Even in real life, you press buttons on any device and use it without need to know all the electrical and mechanical details about what happens inside the box. In programming we want to use libraries, classes and functions just by using its public interface, without studying the underlying implementation. Hey, if we had to always deal with all the details down to the lowest level, we would never be able to build any complex system! Similarly, I'd like to see the mathematical formula or algorithm pseudocode without studying all the boilerplate that's in the real code. That's what documentation is for, that's what comments are for. And that's why I hate this saying "Want documentation? Just look at the code!"

Comments (2) | Tags: philosophy | Author: Adam Sawicki | Share

Comments

lmx
2015-08-13 12:21:22
mcm backpack,http://www.mcm-bags.in.net/
mcm bags,http://www.mcmhandbags.com.co/
michael kors sale,http://www.michaelkors.so/
michael kors,http://www.michael--kors.us.com/
michael kors handbags,http://www.michaelkorsbags.us.org/
michael kors bags,http://www.michaelkorshandbags.org.uk/
michael kors outlet online,http://www.michael-kors-handbags.us.com/
coach usa,http://www.coach-handbags.com.co/
coach outlet store online,http://www.coachoutlet-online.com.co/
coach clearance,http://www.coachoutletstore.net.co/
coach outlet store,http://www.coachoutletstore-online.com.co/
coco chanel,http://www.coco-chanelbags.com.co/
converse,http://www.converse.net.co/
gucci handbags,http://www.designerhandbagsoutlet.com.co/
sunglasses for women,http://www.eyeglassesonline.us.org/
cheap eyeglasses,http://www.eyeglassframes.us.org/
calvin klein clothes,http://www.fashion-clothing.us.org/
salvatore ferragamo,http://www.ferragamo.com.co/
ferragamo shoes,http://www.ferragamoshoes.net/
air huarache,http://www.air-huarache.co.uk/
air jordan retro,http://www.airjordans.us/
retro jordans,http://www.airjordanshoes2015.com/
nike air max,http://www.airmax-2015.org/
nike air max 2014,http://www.airmax-90.org/
babyliss,http://www.babyliss.us.org/
cheap basketball shoes,http://www.basketballshoes.com.co/
beats by dre sale,http://www.beatsbydrdre.co.com/
beats by dr dre,http://www.beatsbydre.com.co/
monster beats outlet,http://www.beats-by-dre.com.co/
beats audio,http://www.beats-headphone.in.net/
bottega veneta,http://www.bottega.us/
burberry,http://www.burberry-handbags.us.org/
burberry,http://www.burberrys-outlet.in.net/
burberry sale,http://www.burberryoutlet.me.uk/
burberry outlet online,http://www.burberryoutlet.club/
burberry handbags,http://www.burberrys-outletonline.in.net/
cheap calvin kleins,http://www.calvinklein.co.com/
celine bags,http://www.celinebags.org/
chanel handbags,http://www.chanelhandbags.net.in/
baseball bats,http://www.cheap-baseballbats.net/
louboutin shoes,http://www.christianlouboutinshoes.ar.com/
nba jerseys,http://www.cheap-jerseys.us.org/
air jordan,http://www.cheap-jordans.net/
michaelkors.com,http://www.cheapmichaelkors.us.org/
nike outlet store,http://www.cheap-nike-shoes.net/
oakley outlet,http://www.cheapoakley.us.org/
oakley,http://www.cheapoakleysunglasses.ar.com/
insanity workout,http://www.insanityworkout.net.co/
iphone 5s cases,http://www.iphone-cases.com.co/
jimmy choo,http://www.jimmychoo.net.co/
air jordan retro,http://www.jordanretro.org/
jordan retro,http://www.jordan-shoes.com.co/
juicy couture outlet,http://www.juicycouture.com.co/
mont blanc pens,http://www.montblanc--pens.in.net/
new balance store,http://www.newbalance-outlet.org/
air max 2014,http://www.nike-air-max.us/
nike shoes,http://www.nikefactory.org/
free running,http://www.nikefree5.net/
nike running shoes,http://www.nikefree-run.net/
nike free run,http://www.nikefree-run.org.uk/
air jordan shoes,http://www.jordanrelease-dates.net/
soccer shoes,http://www.nikemercurial.in.net/
nike roshe run,http://www.nikerosherun.us/
nike outlet,http://www.nikestore.us/
north face backpacks,http://www.northface.us.org/
north clearance,http://www.northfaceoutlet.com.co/
cheap oakley sunglasses,http://www.oakleyoutlet.us.org/
oakley sunglasses,http://www.oakleysunglasses.gr.com/
oakley outlet,http://www.oakleysunglassescheap.in.net/
oakley vault,http://www.oakley-sunglasses.top/
rolex watches for sale,http://www.omegawatches.us.com/
pandora rings,http://www.pandora-charms.org.uk/
pandora jewelry,http://www.pandorajewelry.top/
ralph lauren outlet online,http://www.polo-outlets.com.co/
prada shoes,http://www.pradahandbags.net.co/
burberry handbags,http://burberry.outletnow.org/
louboutin shoes,http://christianlouboutin.outlet-shoes.net/
tory burch shoes,http://toryburch.salesandals.net/
abercrombie,http://www.abercrombieand-fitch.com.co/
abercrombie kids,http://www.abercrombiefitch.us.com/
abercrombie fitch,http://www.abercrombie-kids.us.com/
juicy couture handbags,http://www.juicycoutureoutlet.net.co/
kate spade handbags,http://www.kate-spade.com.co/
kate spade,http://www.katespade-outlet.com.co/
kate spade,http://www.kate-spade.in.net/
long champ,http://www.longchamp.us.org/
longchamp handbags,http://www.longchamp.com.co/
red bottom shoes,http://www.louboutin.jp.net/
louis vuitton,http://www.louis-vuittoncanada.ca/
louis vuitton outlet online,http://www.louisvuitton.jp.net/
louis vuitton uk,http://www.louis--vuitton.org.uk/
louis vuitton purses,http://www.louisvuitton.so/
louis vuitton outlet stores,http://www.louisvuittonas.com/
louis vuitton outlet online,http://www.louisvuitton-outlet.com.co/
louis vuitton outlet stores,http://www.louisvuitton-outlets.us/
marc by marc jacobs,http://www.marcjacobsonsale.com/
straighteners,http://www.ghdhairstraightener.com.co/
gucci shoes,http://www.gucci-uk.me.uk/
gucci shoes,http://www.guccihandbags.net.co/
gucci outlet,http://www.gucci-outletsale.in.net/
gucci shoes,http://www.gucci-outlet.biz/
gucci outlet,http://www.guccishoes.in.net/
gucci shoes,http://www.guccishoes.us.org/
hermes bags,http://www.hermesbags.club/
hermes bags,http://www.hermesbirkin.biz/
hermes birkin,http://www.hermesoutlet.top/
hollister clothing,http://www.hollister.us.org/
hollisterco,http://www.hollister-clothingstore.in.net/
prada handbags,http://www.pradahandbags.com.co/
prada outlet,http://www.pradashoes.com.co/
polo ralph lauren,http://www.ralph-lauren.org.uk/
polo ralph lauren outlet,http://www.ralphlaurenoutlet.us.com/
ralph lauren uk,http://www.ralph-lauren-outlet.org.uk/
polo ralph lauren outlet,http://www.ralphlaurenoutletonline.com.co/
ralph lauren outlet,http://www.ralphlaurenoutletonline.in.net/
polo outlet online,http://www.ralphlaurenpolos.in.net/
ray ban outlet,http://www.ray-ban-outlet.us.com/
ray ban sunglasses,http://www.raybans.us.org/
ray bans,http://www.rayban-sunglasses.org.uk/
ray-ban sunglasses,http://www.rayban-sunglasses.us.org/
ray ban outlet,http://www.ray-ban-sunglasses-outlet.in.net/
ray ban outlet,http://www.raybanwayfarer.in.net/
replica louis vuitton,http://www.replicahandbags.com.co/
rolex watches for sale,http://www.replica-watches.us.com/
jordan 11,http://www.retro-jordans.com/
replica watches,http://www.rolex-watches.me.uk/
nike roshe,http://www.rosherun.org.uk/
nike roshe,http://www.rosheruns.us/
ferragamo outlet,http://www.salvatoreferragamo.in.net/
indoor soccer shoes,http://www.soccer-shoes.org/
baseball bats,http://www.softballbats.in.net/
supra footwear,http://www.suprashoes.in.net/
swarovski crystal,http://www.swarovskicrystal.com.co/
swarovski crystals,http://www.swarovskijewelry.com.co/
swarovski uk,http://www.swarovski-uk.org.uk/
north face outlet,http://www.the-northface.com.co/
north face jackets,http://www.the-northface.us.org/
the north face,http://www.thenorth-face.org.uk/
north face outlet,http://www.thenorthface.us.org/
north face outlet,http://www.thenorthfacejackets.in.net/
thomas sabo uk,http://www.thomas-sabo.me.uk/
tiffany and co,http://www.tiffanyandco.net.co/
tiffany jewelry,http://www.tiffanyjewelry.us.org/
timberland outlet,http://www.timberlandboots-outlet.in.net/
timberland shoes,http://www.timberlandshoes.com.co/
tommy hilfiger bags,http://www.tommyhilfiger.net.co/
tommy hilfiger bags,http://www.tommy-hilfigeroutlet.com/
toms shoes outlet,http://www.toms-shoes-outlet.net/
toms shoes outlet,http://www.toms-outletsale.in.net/
tom's shoes,http://www.toms-shoes.com.co/
tory burch shoes,http://www.tory-burch-outlet.in.net/
tory burch shoes,http://www.tory-burchoutlet.us.com/
true religion jeans,http://www.true-religion.com.co/
true religion,http://www.truereligionjeans.net.co/
true religion jeans outlet,http://www.truereligion-outlet.com.co/
ugg,http://www.ugg-australia.in.net/
ugg australia,http://www.uggboots.net.co/
uggs,http://www.uggbootsclearance.com.co/
ugg boots clearance,http://www.uggsonsale.com.co/
uggs on sale,http://www.uggsoutlet.com.co/
michael kors outlet online,http://www.michaelkorsoutlet.ar.com/
michael kors purses,http://www.michael-kors-outlet.us.org/
michael kors clearance,http://www.michaelkorsoutlet-online.ar.com/
michael kors outlet online sale,http://www.michael-kors-outlet-online.us.org/
michael kors outlet store,http://www.michaelkorsoutletonline-sale.us.com/
michael kors outlet,http://www.michaelkors-uk.org.uk/
oakley vault,http://www.cheap-oakleysunglasses.in.net/
ray ban sunglasses outlet,http://www.cheaprayban.com.co/
cheap shoes,http://www.cheapshoes.com.co/
uggs on sale,http://www.cheap-uggboots.in.net/
flat iron,http://www.chiflatiron.net.co/
christian louboutin,http://www.christian--louboutin.in.net/
louboutin,http://www.christianlouboutin.org.uk/
louboutin shoes,http://www.christianlouboutinshoes.jp.net/
coach outlet store,http://www.coachfactory-outlet.co.com/
coach factory online,http://www.coachfactory-outlet-online.in.net/
coach outlet store,http://www.uptocoachoutlet.com/
vans outlet,http://www.vans-shoes.net/
wedding dress,http://www.weddingdressesuk.org.uk/
lululemon outlet,http://www.yogapants.com.co/
cheap ugg boots,http://www.ugg-boots.us.org/
ralph lauren outlet online,http://www.poloralphlaurenoutlet.net.co/
burberry handbags,http://www.burberryoutletonline.ar.com/
toms outlet,http://www.toms-outlet.net.co/
michael kors outlet online,http://www.michaelkors.in.net/
christian louboutin shoes,http://www.christianlouboutinoutlet.net.co/
tory burch handbags,http://www.toryburchsale.com.co/
prada handbags,http://www.pradaoutlet.com.co/
longchamp handbags,http://www.longchamp-handbags.in.net/
longchamp,http://www.longchampoutlet.com.co/
chanel outlet,http://www.chanel-bags.com.co/
true religion,http://www.truereligion-outlet.us.org/
abercrombie kids,http://www.abercrombie-and-fitch.us.com/
hollister kids,http://www.hollisterclothing.in.net/
new balance shoes,http://www.newbalance-shoes.org/
converse outlet,http://www.converses-shoes.net/
lululemon,http://www.lululemonoutlet.com.co/
nfl jerseys,http://www.nfl-jersey.in.net/
cheap jerseys,http://www.cheapjerseys.us.org/
rolex watches for sale,http://www.rolex-watches.us.com/
replica watches,http://www.rolexwatchesforsale.us.com/
p90x3,http://www.p90xworkout.in.net/
giuseppe zanotti,http://www.giuseppezanotti.com.co/
maccosmetics.com,http://www.maccosmetics.net.co/
instyler,http://www.instyler.in.net/
mizuno running shoes,http://www.mizunorunning.net/
wholesale handbags,http://www.handbagsoutlet.com.co/
tommy hilfiger outlet stores,http://www.hilfigeroutlet.in.net/
ed hardy clothing,http://www.edhardy.in.net/
levis outlet store,http://www.levisjeans.com.co/
bcbg max,http://www.bcbgdresses.net/
bebe clothing,http://www.bebeclothing.net/
harrods london,http://www.harrods-london.co.uk/
gucci shoes,http://www.guccishoes.com.co/
polo ralph lauren outlet,http://www.ralphlaurenoutletonline.us.org/
lululemon,http://www.lululemoncanada.ca/
yoga pants,http://www.yoga-pants.ca/
nike outlet,http://www.nike-shoes-canada.ca/
pandora jewelry,http://www.pandora-charms-canada.ca/
rolex watches canada,http://www.rolex-watches-canada.ca/
michael kors outlet online,http://www.michael-kors-canada-outlet.ca/
adidas,http://www.adidas--canada.ca/
tiffany and co,http://www.tiffanyandco-canada.ca/
hollister canada,http://www.hollistercanada.ca/
hollister,http://www.abercrombie-and-fitch.ca/
oakley,http://www.oakley-sunglasses-canada.ca/
prom dresses,http://www.wedding--dresses.ca/
swarovski canada,http://www.swarovskicanada.ca/
tommy hilfiger outlet,http://www.tommy-hilfiger-canada.ca/
new balance shoes,http://www.new-balance.ca/
burberry canada,http://www.burberrycanada.ca/
north face canada,http://www.the-north-face.ca/
polo ralph lauren,http://www.ralph-lauren.ca/
ray ban,http://www.ray--ban.ca/
christian louboutin,http://www.christian-louboutin-shoes.ca/
nike air max,http://www.nike-air-max.ca/
bcbg max,http://www.bcbg-max-azria.ca/
uggs,http://www.uggscanada.ca/
yll
2016-03-25 03:19:54
If http://www.guccishoes-uk.co.uk/ you http://www.bottega-veneta.us.com/ are http://www.eyeglassframes.in.net/ happy http://www.oakleys-sunglasses.us.com/ temperament, http://www.truereligion-outlet.com.co/ I http://www.coachoutlet-online.com.co/ have http://www.nikeshoesoutlet.org.uk/ a song, dance with your http://www.tiffanyandco.net.co/ favorite http://www.instylers.us.com/ look; http://www.oakleys-glasses.us.com/ if http://www.louis-vuitton-australia.com.au/ you http://www.bcbg-dresses.com/ rife, I http://www.converse-shoes.net/ will become http://www.ferragamo.com.co/ a http://www.swarovskicanada.ca/ cloud, falling http://www.pandorajewelry.top/ some http://www.coachoutletstore.net.co/ peerless http://www.tommy-hilfiger-canada.ca/ situation; http://www.burberry-outlet.net.co/ for this flower http://www.abercrombie-and-fitch.us.com/ Dimei http://www.air-max.com.de/ under http://www.ralph-lauren.com.au/ Xu, http://www.omega-watches.us.com/ Xu http://www.weddingdressesuk.org.uk/ next stop for http://www.jordanretro.org/ this http://www.newoutletonlinemall.com/ cloud, http://www.katespadeoutlet.gb.net/ let http://www.swarovski--uk.me.uk/ that http://www.uggboots.com.de/ drop of http://www.abercrombie-kids.us.com/ rain http://www.michael-kors.com.co/ touched http://www.uggboots.net.co/ that http://www.michael-kors-outlet-online.us.org/ masterpiece http://www.cheap-baseballbats.net/ encounter; http://www.oakley-sunglasses.mex.com/ not http://www.cheapjerseys.com.co/ to http://www.prada-shoes.com.co/ ask, in http://www.nikefactory.org/ the http://www.kate-spade.gb.net/ southern http://www.salvatoreferragamo.in.net/ misty http://michaelkors.euro-us.net/ rain ink, http://www.p90xworkout.us.com/ or http://www.oakley.org.es/ vegetation desolate http://www.nike-schoenen.co.nl/ Saibei http://www.christianlouboutinshoesoutlet.org/ only hope http://www.jordanrelease-dates.us.com/ that http://www.adidas--canada.ca/ you read http://www.kate-spade.in.net/ in http://www.adidas-superstar.de/ conjunction rain http://www.louisvuitton.jp.net/ Partly http://www.abercrombie-fitchs.us.com/ farming, http://www.insanity-workout.us.com/ leisure together http://www.hollister-abercrombie.com.se/ Immersió http://www.replica-handbags.in.net/ listen to http://www.rolex-watches.us.com/ the http://www.juicycouture.com.co/ birds, http://www.cheapuggboots.us.com/ over the http://www.barbour-jacketsoutlet.com/ days http://www.rayban-sunglasses.us.org/ together with http://www.guccishoes.com.co/ ordinary http://www.christian--louboutin.in.net/ water http://www.ugg-australia.com.de/ .

If grinding moonlight, the wind http://www.wedding--dresses.ca/ pen, next month before it flowers, http://www.beatsbydre.com.co/ pen http://www.poloralphlaurenoutlet.net.co/ years http://www.ralphlaurenoutletonline.in.net/ water http://www.harrods-london.co.uk/ volume; http://www.canada-goosesjackets.us.com/ with http://www.uggsaustralia.com.co/ traces breeze http://www.mcmsworldwide.com/ atmosphere, clouds, http://www.converse.net.co/ and http://www.jimmy-chooshoes.com/ in a paper http://coach.euro-us.net/ by http://www.coach-factory.in.net/ the http://www.tory-burchshoesoutlet.net/ recollection http://www.nikestore.com.de/ of old http://www.giuseppezanotti.com.co/ books you http://www.soft-ballbats.com/ warm; http://www.lululemonoutlet.gb.net/ make http://www.longchamp.us.org/ clear http://www.hermesbirkin-bag.net/ water http://www.moncler-outlet.us.org/ in http://www.ugg-bootsclearance.com/ Qiannian landscape http://www.hollisteronlineshop.com.de/ outside, http://www.tomsoutletonline.net/ waiting http://www.timberlandshoes.net.co/ for http://www.cheap-raybans.com/ the http://www.toms-outlets.us.com/ moon and new http://www.tommy-hilfiger.co.nl/ moon; http://www.maccosmetics.net.co/ quietly http://www.coach-outletonline.net.co/ spend http://www.louisvuitton.so/ the joy http://www.michael-kors.com.es/ of http://www.newbalance.com.es/ silence, do http://www.nike-shoesoutlet.us.com/ not ask http://www.abercrombie-fitchsale.com/ how http://mcmbackpack.co-om.com/ changes of http://www.burberry-outlets.co.uk/ marshes, http://www.longchamp-handbags.us.com/ how http://www.michael-kors-australia.com.au/ rotary http://www.raybans.us.org/ years, http://www.tiffanyandco-canada.ca/ the http://www.reebok.com.de/ only http://www.louis-vuitton-taschen.com.de/ place http://www.pandora-charms-canada.ca/ in http://www.guccioutlet-sale.in.net/ the bridges for http://www.rayban.co.nl/ you as http://www.coachoutletstore-online.com.co/ I ended classic.

Life http://www.gucci-taschen-outlet.de/ would http://www.longchamp.com.co/ like to http://www.nike.org.es/ make http://www.michaelkorsoutlet.ar.com/ the dust http://www.abercrombieand-fitch.ca/ of http://www.outlet-burberry.net.co/ a http://www.burberryonlineshop.de/ lotus, http://www.toms--outlet.com.co/ the http://www.burberry-outletonlinesale.in.net/ mountain http://www.polooutlets-store.com/ waiting for a ride a http://airhuarache.shoesoutlet.us.com/ water http://www.maccosmetics.gr.com/ ride with http://www.pradahandbags.net.co/ a http://northfaceoutlet.co-om.com/ window http://www.hogan.com.de/ the http://www.nike-air-max.ca/ bright http://www.nike-air-max.com.de/ window, http://monsterbeats.co-om.com/ the sun http://www.adidas.com.se/ was http://www.coachblackfriday.com/ warm http://www.michaeljordan.com.de/ embrace, Wan http://www.lululemon-australia.com.au/ Wan http://www.swarovskijewelry.com.co/ in a http://www.asicsgels.de/ new Green Mile, http://www.louisvuitton-outlets.us/ this http://www.yoga-pants.ca/ life http://www.nikerosherun.us/ filled with http://www.thenorthfacejackets.net.co/ love; http://www.hermes-outlet.com.co/ make a http://www.handbagsoutlet.net.co/ colorful http://www.bebeclothing.in.net/ in http://www.mizuno-running.net/ full http://www.nike-rosherun.nl/ bloom http://www.cheap-oakleyglasses.us.com/ throughout http://www.marcjacobs.us.com/ the spring, to http://www.eyeglassesonline.us.com/ meet http://www.pulseras-pandora.com.es/ a beautiful http://www.michael-kors-outlet.us.org/ painting http://www.lululemoncanada.ca/ on http://www.coachhandbags2016.us.com/ the successful!

A http://www.michaelkorsoutlet-online.ar.com/ tea seats bed, http://www.toryburchsale.com.co/ a http://www.burberryoutlet-sale.in.net/ pillow http://www.ralph-laurenoutlet.ca/ Scrolls http://www.michael-kors-canada-outlet.ca/ fine http://www.chiflatiron.net.co/ ponder. This http://www.polo-ralph-lauren.de/ is a http://www.polo-outlets.com.co/ simple http://www.louis--vuitton.org.uk/ literature, http://www.nikeskos.dk/ this http://www.nfl-jersey.us.com/ is http://www.beats-headphone.com.co/ the http://www.mcm-bags.in.net/ classic psychic, http://supra.shoesoutlet.us.com/ regardless http://www.pradaoutlet.com.co/ of gem material, http://www.michael-kors-handbags.us.com/ regardless http://www.louisvuittons.com.co/ of http://www.nike-air-force.de/ the net http://www.oakley.com.de/ worth of http://www.longchamphandbagsoutlet.net/ the poor, http://www.jordan-shoes.com.co/ because http://www.cheaprayban.com.co/ the http://www.celine-bags.org/ share http://www.rolexwatchesforsale.us.com/ of http://www.barbour-factory.com/ hazy http://www.hollister.us.org/ love, love deep into http://www.montblanc--pens.in.net/ the http://www.uggsoutlet.com.co/ soul.

This http://www.tiffany-und-co.de/ literary http://www.airhuarache.co.uk/ love, http://www.nike-roshe-run.de/ love http://www.converse.com.de/ this http://www.cheapshoes.com.co/ millennia-old http://www.rayban.com.de/ Chinese http://www.abercrombie-hollister.nl/ soul http://www.tommy-hilfiger.com.de/ of the http://www.nikefree5.net/ wind. http://www.hollister-clothing.in.net/ Or http://www.michaelkorsoutletonline-sale.us.com/ vigorous, http://www.ugg-boots.us.org/ soul-stirring, http://www.louis-vuittonblackfriday.com/ like http://www.rosheruns.us/ Longyou song marsh, Huang http://www.louis-vuittonoutletcanada.ca/ Fei nine http://www.newbalance-shoes.org/ days; http://www.burberryoutlet-canada.ca/ or http://www.longchamp.com.de/ single http://www.nike-air-max.us/ elevation http://www.tommyhilfigeroutlet.in.net/ grid, http://www.thenorthface.com.de/ noble Aoshuang, http://www.christianlouboutinshoes.jp.net/ like http://www.chanelhandbags.net.in/ Pine Valley http://www.oakley-outletstore.in.net/ Health, http://www.christianlouboutinoutlet.net.co/ Xia Ying http://www.nike-schuhe.com.de/ Cheng Tong; http://www.horloges-rolex.nl/ or http://www.tommy-hilfigeroutlet.com/ want http://www.ralphs-lauren.co.uk/ to http://www.cheapoakley-sunglasses.in.net/ go http://www.nike-skor.com.se/ think, http://www.adidas-schuhe-online.de/ therefore, become http://www.hollisterclothingstore.org/ lazy Ke http://www.thenorth-faces.co.uk/ Zhou, http://www.burberry-handbagsoutlet.com.co/ Shen http://www.pandorajewellery.com.au/ round http://www.toryburchoutlet-sale.us.com/ like the http://www.bottegaveneta-bagsoutlet.com/ moon http://www.iphone-cases.net.co/ and http://www.christian-louboutin-shoes.ca/ stars, http://www.tnf-jackets.us.com/ the http://www.guccihandbags.net.co/ rivers into http://www.uggs-onsale.net/ the ocean; http://www.ugg-uggboots.net/ or http://www.rayban-sunglassesoutlet.co.uk/ plaintive http://www.tiffany-jewelry.net/ blurred, http://www.michaelkors-uk.org.uk/ cold http://www.rolex-watch.me.uk/ hesitation, like Su http://www.pumashoes.in.net/ Yi http://www.ralphlaurenonlineshop.de/ impermanence, cold http://michaelkors.co-om.com/ feast http://www.cheap-jordans.net/ next http://www.michael-korshandbags.org.uk/ month. http://www.mk-outlet.us.com/ Let him how Mind, http://www.cheapoakley-sunglasses.com/ only http://www.yoga-pants.net.co/ for http://www.asics-outlet.us.com/ the http://www.guccishoes.us.org/ love http://www.michaelkors.co.nl/ affair http://www.cheapmichaelkors.us.org/ Everlasting, http://www.raybans-sunglassesoutlet.in.net/ the text from http://www.ugg-boots-australia.com.au/ the heart http://www.ray--ban.ca/ Think http://www.michaelkors.com.se/ that summer, a http://www.ralphslauren-outlet.co.uk/ column http://www.longchampoutlet.com.co/ Chen Xiang a http://www.cheap-nike-shoes.net/ cool http://www.replica-watches.com.co/ pillow, http://www.rayban.org.es/ which is the http://www.lauren-ralph.co.uk/ roots of http://www.burberrysoutlet2016.com/ what http://www.mmoncler-outlet.com/ you need http://www.rolexwatches-canada.ca/ to make http://www.the-northfacejackets.us.com/ tea http://www.cheapjerseys.us.org/ cooking wine, http://www.edhardy.us.org/ Hongxiutianxiang http://www.guccishoes.in.net/ just http://www.swarovski-australia.com.au/ hand http://www.michael-kors.net.co/ poetry http://www.the-northface.net.co/ twos http://www.supra-shoes.org/ Bliss http://www.swarovski-online-shop.de/ half http://www.burberrybags-outlet.com/ a http://www.louboutin.jp.net/ day can http://www.northfaceoutlet.com.co/ tolerate http://www.babyliss-pro.us.com/ you wander. http://www.thejoreseproject.com/ Static http://www.michael-kors-taschen.com.de/ water http://www.coach-purseoutlet.net/ body, http://www.woolrich-clearance.com/ Shen http://www.louisvuitton-outlet.com.co/ soul dream, http://www.designer-handbagsoutlet.us.com/ it http://www.oakley-sunglassoutlet.net/ is http://www.vans-schuhe.com.de/ only http://www.retro-jordans.com/ a few clouds color country http://www.basketballshoes.com.co/ Pitt, rivers http://www.calvin-kleins.us.com/ and http://www.oakleysunglasses-cheap.in.net/ mountains, jade http://www.tomsshoes-outlet.us.com/ group. http://www.ghd-hairstraightener.net/ Do http://www.ralph-laurens.org.uk/ not http://www.nikefree-run.net/ ask http://www.tommyhilfiger.net.co/ bustling http://www.bcbg-max-azria.ca/ past, http://www.chi-flatiron.us.com/ gone; http://www.adidas.org.es/ do not http://www.tiffany-andco.com.au/ ask flowery http://www.the-north-face.ca/ Meijuan, http://www.levisjeans.com.co/ Homecoming, http://nike.shoesoutlet.us.com/ heart http://www.swarovski-crystal.us.com/ like http://www.ugg-boots.ca/ hanging http://www.timberlandbootsoutlet.us.com/ a mirror, according http://www.coach-factoryoutlet.net.co/ to http://www.thomas-sabos.org.uk/ Italian Bodhi http://www.soccer-shoes.us.com/ station.

Three http://www.canadagooses-2016.com/ thousand Red http://www.tocoachoutlet.com/ ink, http://www.chanel-bags.com.co/ as are http://www.beats-by-dre.com.co/ cold-blooded http://www.hermesbags.jp.net/ bustling http://www.the-northface.com.co/ paper, into a http://www.truereligionjeans.net.co/ word http://www.michaelkors.so/ discretion. Five thousand http://uggaustralia.misblackfriday.com/ years http://www.juicycoutureoutlet.net.co/ of http://www.newbalance-outlet.org/ calligraphy love http://www.nike-air-max.com.se/ this, http://www.toms-shoes.net.co/ love http://www.air-huarache.co.uk/ flames http://www.rayban-wayfarer.in.net/ smoke sand http://www.new-balance-schuhe.de/ which http://www.mkoutletonline.us.com/ contained http://www.mcmhandbags.com.co/ five thousand years. http://www.omegarelojes.es/ Regardless http://www.uggs.in.net/ of the time, and http://www.nike-roshe-run.com.es/ regardless http://www.tommy-hilfiger-online-shop.de/ of http://www.coach-factoryyoutletonline.net/ age just http://www.airjordans.us/ enthusiastic, http://www.nike-free-run.de/ you http://www.thomas-sabo.com.de/ can http://www.salomon-schuhe.com.de/ play http://www.nikestore.us/ the http://www.burberry2016.co.uk/ most http://airmax.shoesoutlet.us.com/ beautiful music http://www.adidasshoes.top/ in http://www.christian-louboutinshoes.com.co/ the http://www.burberry-outletstore.net/ soul. http://www.ralphlaurenepolo.com/ Born http://www.burberry-handbags2016.in.net/ This paper declared the era http://www.fashionclothes.us.com/ of http://www.airmax-2015.org/ thick http://www.converse-shoesoutlet.com/ ink, it http://www.jimmy-choos.com/ is http://www.prada-handbags.com.co/ really Qing http://www.toms-shoes.com.co/ Sansei http://www.toryburch-sandals.in.net/ lucky, I http://www.longchamp-handbagsoutlet.us.com/ have the http://www.coco-chanels.us.com/ edge. http://www.nikeair-max.es/ Not to think http://www.mcmbags.net/ about what http://www.oakleyoutlet-online.us.com/ flat http://www.zxcoachoutlet.com/ Zeze, do http://www.coco-chanel.com.de/ not http://coachoutlet.euro-us.net/ repair what http://www.nike-huarache.nl/ suppression http://www.designerhandbagsoutlet.net.co/ suppression http://www.pumaonline-shop.de/ triumphantly, http://www.ray-ban-outlet.us.com/ play http://www.toms-shoesoutlet.net/ with http://www.ralphlaurenoutletonline.us.org/ my http://www.truereligion-outlet.us.org/ ink, paper http://www.nikemercurial.in.net/ and http://www.uggs.co.nl/ ink, http://www.true-religion.com.co/ ink http://www.michaelkors-outlet-online.com.co/ into http://www.michaelkorsbags.us.org/ song. Wenbujiadian, http://www.hollisters-canada.ca/ Tengjiao http://www.oakley-sunglasses-canada.ca/ Qifeng. http://www.ralphlaurenoutlet-online.us.com/ Three http://www.airmax-90.org/ feet http://www.giuseppe-zanotti.net/ of http://www.christianlouboutin.org.uk/ white http://www.pandora-charms.org.uk/ Xuan, lead http://www.oakley--sunglasses.com.au/ me http://www.ralphlaurenoutlet.us.com/ thousand words mantra; five bucket http://www.nikefree-run.org.uk/ heavy http://www.gucci-outletstore.com/ color, any http://www.vans-shoes.co.uk/ time http://airmax.misblackfriday.com/ I wanton http://www.ferragamoshoes.in.net/ chapters. http://www.prada.com.de/ Wenqi thunder, put http://www.uhren-shop.com.de/ pen http://www.new-balance.ca/ to http://www.michael--kors.us.com/ paper http://www.ralphlaurenpolos.in.net/ to http://www.tomsoutlet-online.com/ stay http://www.burberryoutlet2016.us.com/ hui, http://www.nike-shoes-canada.ca/ was http://www.cheap-michaelkors.com/ widely http://www.pandora.com.de/ bully http://www.adidas-superstar.nl/ Zimei, http://www.vans-shoes.net/ bearing http://www.beatsbydrdre.co.com/ pressure http://www.rosherun.org.uk/ Bai.

http://www.nike-air-max.com.au/

Post comment

Nick *
Your name or nickname
E-mail
Your contact information (optional, will not be shown)
Text *
Content of your comment
Calculate *
(* - required field)
STAT NO AD [Stat] [Admin] [STAT NO AD] [pub] [Mirror] Copyright © 2004-2016 Adam Sawicki
Copyright © 2004-2016 Adam Sawicki