Title: How to draw the same shape efficiently at different positions and label efficiently?
Tags: tikz-pgf;tikz-styles
Question: Here is the code, which is working fine:
\begin{tikzpicture}[scale=0.3]
\draw (1,2)-- (1,4) -- (8,4) -- (8,2) -- cycle;
\draw (6,4) -- (8,4) -- (8,11) -- (6,11) -- cycle;
\draw (6,11) -- (6,13) -- (13,13) -- (13,11) -- cycle;
\node at (1,2) {\textbullet};
\node at (13,13) {\textbullet};
\node[below] at (1,2) {$(1,2)$};
\node[above] at (13,13) {$(13,13)$};
\end{tikzpicture}
I am sure there must be a way to draw up the three rectangles in an effective way.
Also, how could I label the points (\textbullet) as well as the coordinates in a more compact way?

Here is the accepted answer: I assume, you want to optimize the code of the question. All these operations can be put in one \draw command. Then the command form \tikz instead of the environment can be used. The path construction can be simplified via rectangle.
\documentclass{article}
\usepackage{tikz}
\begin{document}
\tikz[scale=.3]\draw
(1, 2)
node {\textbullet}
node[below] {$(1, 2)$}
rectangle (8, 4)
rectangle (6, 11)
rectangle (13, 13)
node {\textbullet}
node[above] {$(13, 13)$}
\end{document}
Comment for this answer: @Ignasi I have tried, but the distance is much larger.
Comment for this answer: Nice! Another option not shorter but more compact: `... node [label=below:{$(1,2)$}] {\textbullet} ...`
Comment for this answer: Ups. You're right, with `label`, textbullet node size places label far away, while with a second node the reference is a coordinate a not a node.

Here is another answer: Just a possible solution. Instead of lines, use a rectangular node which fits desired coordinates. After that, place label and points using anchors.
\documentclass[border=2mm,tikz]{standalone}
\usetikzlibrary{fit}
\begin{document}
\begin{tikzpicture}[scale=0.3, box/.style={draw, inner sep=0pt, outer sep=0pt}]
\node[fit={(1,2) (8,4)}, box] (a){};
\node[fit={(6,4) (8,11)}, box] (b){};
\node[fit={(6,11) (13,13)}, box] (c){};
\draw[fill] (a.south west) circle (5pt) node[below] {$(1,2)$};
\draw[fill] (c.north east) circle (5pt) node[above] {$(13,13)$};
\end{tikzpicture}
\end{document}

{'source': 'StackExchangeDataset', 'subset': 'tex.stackexchange.com', 'metadata': {'AnswerCount': 2, 'CommentCount': 0, 'ContentLicense': 'CC BY-SA 3.0', 'CreationDate': '2015:00:06/11/15', 'FavoriteCount': None, 'PostTypeId': 1, 'Tags': '<tikz-pgf><tikz-styles>', 'Title': 'How to draw the same shape efficiently at different positions and label efficiently?', 'ViewCount': 363, 'id': 249843, 'user_AboutMe': "<p>I am a research student and I like programming!\nI use Maple for my research extensively and have been a Maple user since 2005. I am currently trying to switch MMA. But it's just not working!</p>\n", 'user_AccountId': 3228639.0, 'user_DisplayName': 'Chen Stats Yu', 'user_Reputation': 2189.0, 'user_Views': 169.0, 'user_id': 35832.0}}