Читаем Чистый код. Создание, анализ и рефакторинг полностью

158                 "SpreadsheetDate: Serial must be in range 2 to 2958465.");

159         }

160

161         // День-месяц-год должен синхронизироваться с порядковым номером...

162         calcDayMonthYear();

163

164     }

165

166     /**

167      * Возвращает описание, присоединенное к дате.

168      * Дата не обязана иметь описание, но в некоторых приложениях

169      * оно может оказаться полезным.

170      *

171      * @return описание, присоединенное к дате.

172      */

173     public String getDescription() {

174         return this.description;

175     }

176

177     /**

178      * Задает описание для даты.

179      *

180      * @param description  описание даты (разрешается

181      *                     null).

182      */

183     public void setDescription(final String description) {

184         this.description = description;

185     }

186

Листинг Б.5 (продолжение)

187     /**

188      * Возвращает порядковый номер даты, где 1 января 1900 = 2

189      * (что почти соответствует системе нумерации, используемой в Microsoft

190      * Excel for Windows и Lotus 1-2-3).

191      *

192      * @return порядковый номер даты.

193      */

194     public int toSerial() {

195         return this.serial;

196     }

197

198     /**

199      * Возвращает объект java.util.Date, эквивалентный текущей дате.

200      *

201      * @return объект даты.

202      */

203     public Date toDate() {

204         final Calendar calendar = Calendar.getInstance();

205         calendar.set(getYYYY(), getMonth() - 1, getDayOfMonth(), 0, 0, 0);

206         return calendar.getTime();

207     }

208

209     /**

210      * Возвращает год (из действительного диапазона от 1900 до 9999).

211      *

212      * @return год.

213      */

214     public int getYYYY() {

215         return this.year;

216     }

217

218     /**

219      * Возвращает месяц (январь = 1, февраль = 2, март = 3).

220      *

221      * @return месяц года.

222      */

223     public int getMonth() {

224         return this.month;

225     }

226

227     /**

228      * Возвращает день месяца.

229      *

230      * @return день месяца.

231      */

232     public int getDayOfMonth() {

233         return this.day;

234     }

235

236     /**

237      * Возвращает код, представляющий день недели.

238      *

239      * Коды определяются в классе {@link SerialDate} следующим образом:

240      * SUNDAY, MONDAY, TUESDAY,

241      * WEDNESDAY, THURSDAY, FRIDAY и

242      * SATURDAY.

243      *

244      * @return Код, представляющий день недели.

245      */

246     public int getDayOfWeek() {

247         return (this.serial + 6) % 7 + 1;

248     }

249

Перейти на страницу:

Все книги серии Библиотека программиста

Программист-фанатик
Программист-фанатик

В этой книге вы не найдете описания конкретных технологий, алгоритмов и языков программирования — ценность ее не в этом. Она представляет собой сборник практических советов и рекомендаций, касающихся ситуаций, с которыми порой сталкивается любой разработчик: отсутствие мотивации, выбор приоритетов, психология программирования, отношения с руководством и коллегами и многие другие. Подобные знания обычно приходят лишь в результате многолетнего опыта реальной работы. По большому счету перед вами — ярко и увлекательно написанное руководство, которое поможет быстро сделать карьеру в индустрии разработки ПО любому, кто поставил себе такую цель. Конечно, опытные программисты могут найти некоторые идеи автора достаточно очевидными, но и для таких найдутся темы, которые позволят пересмотреть устоявшиеся взгляды и выйти на новый уровень мастерства. Для тех же, кто только в самом начале своего пути как разработчика, чтение данной книги, несомненно, откроет широчайшие перспективы. Издательство выражает благодарность Шувалову А. В. и Курышеву А. И. за помощь в работе над книгой.

Чед Фаулер

Программирование, программы, базы данных / Программирование / Книги по IT

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных